
- •Аннотация
- •Оглавление
- •Предисловие
- •ГЛАВА 1. Задачи оптимизации. Основные определения
- •1.1. Задачи оптимизации
- •1.2. Минимум функции одной переменной
- •1.3. Унимодальные функции
- •1.4. Выпуклые функции
- •1.5. Условие Липшица
- •1.6. Классическая минимизация функции одной переменной
- •Вопросы и задания для самоконтроля
- •ГЛАВА 2. Одномерная минимизация функций. Прямые методы
- •2.1. О прямых методах
- •2.2. Метод перебора
- •2.3. Метод поразрядного поиска
- •2.4. Метод дихотомии
- •2.5. Метод золотого сечения
- •2.6. Сравнение методов перебора, дихотомии и золотого сечения
- •2.7. Метод парабол
- •Вопросы и задания для самоконтроля
- •Задание для численной реализации в среде программирования MATLAB
- •ГЛАВА 3. Одномерная минимизация. Методы, использующие информацию о производных целевой функции
- •3.1. Метод средней точки
- •3.2. Метод хорд
- •3.3. Метод Ньютона
- •3.4. Возможные модификации метода Ньютона
- •3.5. Методы минимизации многомодальных функций
- •Вопросы и задания для самоконтроля
- •Задание для численной реализации в среде программирования MATLAB
- •ГЛАВА 4. Задача минимизации функции многих переменных. Необходимые и достаточные условия безусловного экстремума
- •4.1. Постановка задачи и определения
- •4.2. Свойства выпуклых множеств и выпуклых функций
- •4.3. Необходимые и достаточные условия безусловного экстремума
- •Вопросы и задания для самоконтроля
- •5.1. Выпуклые квадратичные функции
- •5.2. Общие принципы многомерной минимизации
- •5.3. Метод градиентного спуска
- •5.4. Метод наискорейшего спуска
- •5.5. Метод сопряженных направлений
- •5.6. Метод сопряженных градиентов
- •5.7. Метод Ньютона
- •5.8. Квазиньютоновские методы
- •Вопросы и задания для самопроверки
- •Задание для численной реализации в среде программирования MATLAB
- •ГЛАВА 6. Прямые методы безусловной минимизации многомерных задач
- •6.1. Проблема минимизации многомерных задач
- •6.2. Минимизация функций по правильному (регулярному) симплексу
- •6.3. Минимизация функций при помощи нерегулярного симплекса
- •6.4. Метод циклического покоординатного спуска
- •6.5. Метод Хука–Дживса
- •6.6. Методы случайного поиска
- •Вопросы и задания для самопроверки
- •Задание для численной реализации в среде программирования MATLAB
- •7.1. Условный экстремум при ограничениях типа равенств
- •7.2. Условный экстремум при ограничениях типа неравенств
- •Вопросы и задания для самопроверки
- •ГЛАВА 8. Линейное программирование
- •8.1. Определения. Примеры задач линейного программирования
- •8.2. Общая и каноническая задачи линейного программирования
- •8.3. Геометрическое истолкование задач линейного программирования
- •8.4. Аналитическое решение задач линейного программирования
- •Вопросы и задания для самоконтроля
- •Литература

|
Результаты вычислений примера методом хорд |
|
|
Таблица 3.2. |
|||||||||
|
|
|
|
|
|
|
|
|
′ ~ |
|
|
|
|
Номер |
|
a |
|
b |
|
|
~ |
|
|
|
|
~ |
|
|
|
|
|
x |
|
f (x ) |
|
Знак f (x ) |
|||||
итерации |
|
|
|
|
|
|
|
|
|
|
′ |
|
|
|
|
|
|
|
|
|
|
-0,766 |
|
|
|
|
|
1 |
|
0 |
|
1 |
|
|
0,216 |
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
-0,528 |
|
|
|
|
2 |
|
0,216 |
|
1 |
|
|
0,352 |
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
-0,319 |
|
|
|
|
3 |
|
0,352 |
|
1 |
|
|
0,435 |
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
-0,175 |
|
|
|
|
4 |
|
0,435 |
|
1 |
|
|
0,480 |
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
-0,091 |
|
|
|
|
5 |
|
0,480 |
|
1 |
|
|
0,504 |
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
-0,046 |
|
|
|
|
6 |
|
0,504 |
|
1 |
|
|
0,516 |
|
|
|
точность |
||
|
|
|
|
|
|
|
|
|
|
|
достигнута |
||
Отсюда x ≈0,516 , |
f ≈ 0,668 . ■ |
|
|
|
|
|
|
|
|
|
|||
До сих пор предполагалось, что |
′ |
′ |
|
′ |
на концах |
||||||||
f (a) f |
(b) <0 , т.е. производная |
f (x) |
отрезка имеет разные знаки. При нарушении этого условия точку x можно указать сразу.
Так, |
если f |
′ |
|
|
′ |
> 0 , |
то f (x) возрастает на [a, b], следовательно, x |
|
= a , а |
|||||||
(a) , f |
(b) |
|
||||||||||||||
′ |
′ |
< 0 |
|
она убывает и x |
|
= b . |
|
|
|
|
|
|
||||
при f (a) , f (b) |
|
|
|
|
|
|
|
|
||||||||
В случае f |
′ |
|
′ |
|
|
|
= a |
или x |
|
= b , в зависимости от того, |
на каком из |
|||||
(a) |
f (b) = 0 x |
|
|
|||||||||||||
концов отрезка [a, b] |
производная |
f |
(x) =0 . |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
′ |
|
|
|
|
|
|
3.3. Метод Ньютона |
|
|
|
|
|
|
|
|
|
|
|
|||||
Если |
выпуклая |
на |
отрезке |
|
[a, b] функция |
f (x) дважды непрерывно |
||||||||||
дифференцируема на этом отрезке, |
то точку x [a, b] минимума этой функции |
|||||||||||||||
можно найти, решая уравнение f |
(x) =0 |
методом Ньютона (другое название − |
||||||||||||||
|
|
|
|
|
|
|
|
|
′ |
|
|
|
|
|
|
|
метод касательных). |
Пусть |
|
x0 [a, b] − |
нулевое |
(начальное) приближение к |
|||||||||||
искомой точке |
|
. |
|
|
|
|
|
|
|
|
′ |
|
|
|
|
|
x |
Линеаризуем функцию F(x) = f (x) в окрестности начальной |
|||||||||||||||
точки, приближенно заменив дугу |
графика этой функции касательной в точке |
|||||||||||||||
(x0 , f ′(x0 )) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F(x) ≈ F(x0 ) + F ′(x0 )(x − x0 ) . |
|
|
|
(3.3) |
|||||||
Выберем в |
качестве |
следующего приближения |
к x точку x |
пересечения |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
касательной с осью абсцисс. Приравнивая к нулю правую часть в (3.3), получим
первый элемент |
x |
= x |
0 |
− |
F(x0 ) |
итерационной последовательности {x |
k |
}, k =1, 2, .... |
|
||||||||
|
1 |
|
|
F ′(x0 ) |
|
|
||
|
|
|
|
|
|
|
|
41

Выберем в качестве следующего приближения к x точку x1 пересечения касательной с осью абсцисс. Приравнивая к нулю правую часть в (3.3), получим
первый элемент x |
= x |
0 |
− |
F(x0 ) |
итерационной последовательности {x |
k |
}, k =1, 2, .... |
|
|
||||||||
1 |
|
|
F ′(x0 ) |
|
||||
|
|
|
|
|
|
|||
В очередной точке xk |
построим линейную аппроксимирующую функцию для |
|||||||
F (x) и определим точку, |
в которой эта функция обращается в нуль, используя в |
|||||||
качестве следующего приближения xk +1 (рис. 3.3). |
|
|
||||||
y |
|
|
|
|
|
F(x)=f΄(x) |
|
|
|
x* |
x |
xk |
xk+1 |
|
|
|
|
Рис. 3.3. Иллюстрация метода касательных |
|
|
|
||||||||||
|
Уравнение |
касательной |
к |
графику |
F(x) |
в |
точке |
x = xk |
имеет |
вид |
|||||||
|
y = F(xk ) + F ′(xk ) (x − xk ) , поэтому |
точка |
x = xk +1 , |
найденная |
из условия |
y = 0 , |
|||||||||||
|
|
|
|
|
|
|
|
F(xk ) |
|
|
|
′ |
|
|
|
||
определяется формулой xk +1 |
= xk − |
|
|
. Поскольку |
F(x) ≡ f (x) , получим, что для |
||||||||||||
F ′(xk ) |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
′ |
необходимо построить последовательность |
|
|||||||||||
решения уравнения f (x) =0 |
|
||||||||||||||||
|
|
|
|
xk +1 = xk |
− |
f ′(xk ) |
, |
k =1, 2, ... |
|
|
|
|
(3.4) |
||||
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
f ′′(xk ) |
|
|
|
|
|
|
|
|||
где x0 − точка, |
выбранная в качестве начального приближения. Вычисления по |
||||||||||||||||
формуле (3.4) |
производятся |
до |
тех |
пор, пока |
|
не выполнится |
неравенство |
||||||||||
|
f ′(xk ) |
|
≤ ε , после чего полагают x ≈ xk , |
f ≈ f (xk ) . |
|
|
|
|
|||||||||
|
|
|
|
|
|
Формулу (3.4) можно получить также из иных соображений. Запишем квадратичную аппроксимацию qk (x) функции f (x) в точке xk с помощью формулы Тейлора
42

y
qk(x)
f(x)
xk |
xk+1 x* |
|
x |
Рис. 3.4. Иллюстрация вывода формулы (3.4) |
|||
Для квадратичной функции |
f (x) функция |
′ |
линейна, поэтому в (3.4) |
f (x) |
равенство будет точным, а метод Ньютона будет сходиться за один шаг при любом выборе точки x0 из области определения этой функции.
Для выяснения достаточных условий сходимости рассмотрим метод Ньютона в
случае, если f (x) |
− трижды непрерывно дифференцируемая выпуклая функция. |
||||||||||||||||||||||||
|
|
|
|
|
′ |
|
|
) , где |
x |
|
− искомый корень, в окрестности k - |
||||||||||||||
Напишем формулу Тейлора для f (x |
|
|
|
||||||||||||||||||||||
го приближения |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
′′′ |
|
|
|
2 |
|
′ |
|
) = 0 = |
|
′ |
|
′′ |
|
|
|
|
|
|
|
− xk ) + |
f (ξ) |
(x |
− xk ) |
, |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
f (x |
|
f (xk ) + |
f (xk ) (x |
|
|
|
2 |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
а точка ξ [x , xk ] . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Разделив последнее соотношение на |
f ′′(xk ) и перенеся первые два слагаемых |
||||||||||||||||||||||||
из правой части в левую, получим |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
′ |
|
|
|
|
|
|
1 |
|
|
|
|
′′′ |
|
|
|
|
|
|
|
|
|
|
|
xk |
− |
f (xk ) |
− x |
= |
|
f (ξ) |
(xk |
− x )2 , |
|
|
|
|
||||||||||
|
|
|
f ′′(xk ) |
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
2 f ′′(xk ) |
|
|
|
|
|
|
|
|||||||
что, учитывая (3.4), переписываем в виде |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
xk +1 − x = |
|
1 |
|
f ′′′(ξ) |
|
(xk − x )2 , |
|
|
|
|
|
||||||||||
|
|
|
|
2 |
|
f ′′(xk ) |
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
откуда
43

xk +1 − x |
|
|
= |
1 |
|
|
f ′′′(ξ) |
|
|
|
|
xk |
− x |
|
|
2 |
. |
|
|
|
|
|
|
||||||||||||
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
2 |
|
|
f ′′(xk ) |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Из (3.5) следует оценка
|
|
|
|
|
|
|
|
xk +1 − x |
|
|
≤ |
1 |
M |
3 |
|
xk − x |
|
|
2 |
, |
|||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
где |
|
|
|
|
|
|
|
|
|
2 |
m2 |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
M 3 |
= max |
|
′′′ |
|
, m2 |
= min |
|
′′ |
|
|
|
. |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
f (x) |
|
|
f (x) |
|
|
|
|
|
|
|
|
|||||||||||
|
|
[a, b] |
|
|
|
|
|
[a, b] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ошибка убывает на каждом шаге в том случае, если
(3.5)
(3.6)
1 |
|
M 3 |
|
x0 |
− x |
|
<1. |
(3.7) |
|
|
|
||||||
2 |
|
m2 |
||||||
|
|
|
|
|
|
Полученное условие означает, что сходимость зависит от начального приближения. Таким образом, метод Ньютона имеет локальную сходимость. Если начальное приближение взято далеко, на сходимость рассчитывать не приходится. С другой стороны, всегда можно добиться выполнения условия (3.7) за счет более точного выбора начального приближения x0 , например, с помощью нескольких итераций методами золотого сечения или поразрядного поиска.
Оценка (3.6) характеризует скорость убывания погрешности для метода Ньютона: на каждом шаге погрешность пропорциональна квадрату предыдущей (квадратичная скорость сходимости). Это очень высокий темп, например, если в некотором приближении получена одна точная цифра после запятой, то в следующем можно ожидать две точные цифры, затем − четыре и т.д.
Сформулируем теперь достаточное условие монотонной сходимости метода Ньютона. Пусть x [a, b] и f (x) трижды непрерывно дифференцируемая и
выпуклая на отрезке [a, b] функция. Ясно, что итерационная последовательность
{xk } будет сходиться к пределу x монотонно, если
0 < x −−xk +1 <1. x xk
В соответствии с формулой Тейлора с остаточным членом в форме Лагранжа f ′(x ) = 0 = f ′(xk ) + f ′′(xk )(x − xk ) + f ′′2′(x) (x − xk )2 ,
где точка x [x , xk ]. Поэтому с учетом основной формулы (3.4) имеем
x − xk +1 |
|
x |
|
− xk + |
f ′(xk ) |
|
|
|
|
|
|
|
|
|
|
|
||||
= |
|
f ′′(xk ) |
|
=1 − |
|
|
|
2 |
|
|
|
|
. |
|||||||
x |
|
− xk |
|
|
|
x |
|
− xk |
|
|
|
|
′′′ |
|
|
− xk ) |
2 |
|
|
|
|
|
|
|
|
2 |
+ |
f (x)(x |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
f ′(xk ) |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44
Отсюда следует, что последовательность {xk } монотонная, если |
f ′′′(x) |
> 0 , т.е. |
|||||
|
|||||||
|
|
|
|
|
|
f ′(xk ) |
|
достаточным условием |
монотонной сходимости |
метода |
Ньютона является |
||||
постоянство в диапазоне |
x [x |
|
|
′′′ |
и совпадение его со |
||
|
, x0 ] знака производной f (x) |
знаком f ′(x0 ) . При этом квадратичная скорость сходимости не гарантируется. Если кроме того, выполняется условие (3.6), то скорость сходимости метода Ньютона становится квадратичной.
Высокую скорость сходимости метода Ньютона можно объяснить и так: квадратный трехчлен qk (x) , построенный с учетом информации как о первой, так и
о второй производных |
f (x) в точке xk , |
с высокой точностью аппроксимирует |
|||||||||||||||||||
выпуклую |
дважды дифференцируемую |
функцию |
f (x) в достаточно |
малой |
|||||||||||||||||
окрестности этой точки. |
Поэтому, |
если очередное приближение xk |
оказывается |
||||||||||||||||||
достаточно близким к x , то точки минимума xk +1 |
и x функций |
qk (x) |
и f (x) |
||||||||||||||||||
практически совпадают. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
Пример |
3.3. |
|
Методом Ньютона найти |
точку |
минимума |
функции |
f (x) = |
||||||||||||||
1 |
|
|
|
2 |
) с точностью |
|
′ |
|
|
−7 |
. |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
x arctg x − |
|
ln(1 + x |
|
f |
|
(x) |
≤10 |
|
|
|
|
|
|
|
|
||||||
2 |
|
|
|
′ |
|
|
|
|
1 |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
□ Производные |
функции |
|
равны |
|
= arctg(x), |
′′ |
|
|
|
||||||||||||
|
|
|
|
|
|
||||||||||||||||
|
|
f (x) |
f (x) = 1 + x2 > 0 , |
||||||||||||||||||
′′′ |
|
2x |
. Видно, что при всех значениях переменной |
′ |
′′′ |
<0 , т.е. |
|||||||||||||||
|
|
|
|||||||||||||||||||
f (x) = − (1 + x2 )2 |
f (x) |
f (x) |
достаточные условия монотонной сходимости не выполняются. Выберем
начальное приближение x0 =1 |
и построим приближения xk |
по формуле (3.4), |
||
результаты записаны в табл. 3.3. |
|
|
|
|
Результаты минимизации функции методом Ньютона |
Таблица 3.3. |
|||
|
|
|
|
|
k |
|
xk |
|
f ′(xk ) |
|
|
|
|
|
0 |
|
1 |
|
0,785 |
|
|
|
|
|
1 |
|
-0,570 |
|
-0,519 |
|
|
|
|
|
2 |
|
0,117 |
|
0,116 |
|
|
|
|
|
3 |
|
-1,061 10-3 |
|
-1,061 10-3 |
4 |
|
9 10-8 |
|
9 10-8 |
Откуда x ≈ 9 10−8 ≈ 0 . ■
45