- •Аннотация
- •Оглавление
- •Предисловие
- •ГЛАВА 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. Аналитическое решение задач линейного программирования
- •Вопросы и задания для самоконтроля
- •Литература
Вопросы и задания для самоконтроля
1.Что такое градиент и антиградиент функции многих переменных и каков их геометрический смысл?
2.Что такое матрица Гессе функции многих переменных?
3. |
Записать приращение функции f (x) C 2 (En ) |
в точке x |
через градиент и |
||||||
матрицу Гессе. |
|
|
|
|
|
|
|
|
|
4. |
Вычислить и нарисовать градиенты, а также вычислить матрицу Гессе |
||||||||
функции f (x) = x2 |
− x2 |
в точках x |
= (1, 1)T ; x |
2 |
= (1, −1)T . |
|
|||
|
1 |
2 |
1 |
|
|
|
|
|
|
5. |
Классифицировать квадратичные формы и соответствующие им матрицы |
||||||||
Гессе |
2 |
−1 |
1 |
−1 |
|
|
2 1 |
1 1 |
|
H (x) = |
; |
H (x) = |
; H (x) |
= |
; |
H (x) = |
. |
||
|
|
|
|
|
|
|
|
|
|
|
−1 2 |
−1 1 |
|
|
1 2 |
1 1 |
6.Почему в этой главе и далее в книге рассматриваются, в основном, выпуклые функции?
7.Дать определение выпуклого множества. Сформулировать его геометрический смысл.
8.Дать определение выпуклой функции. Сформулировать геометрическую интерпретацию этого свойства, свойство матрицы Гессе выпуклой функции.
9.Дать определение строго выпуклой функции. Сформулировать геометрическую интерпретацию этого свойства, свойство матрицы Гессе строго выпуклой функции.
10.Дать определение сильно выпуклой функции. Сформулировать свойство матрицы Гессе сильно выпуклой функции.
11. Исследовать на выпуклость |
f (x) = x2 , x [−1, 1]; |
f (x) = x, x [0, 1]; |
f(x) = x12 + x22 , x E2 .
12.Какие свойства выпуклых функций Вы знаете?
13.Сформулировать необходимое условие первого порядка для безусловного экстремума функции многих переменных.
14.Сформулировать необходимое условие второго порядка для безусловного экстремума функции многих переменных.
15.Сформулировать достаточное условие безусловного экстремума функции многих переменных.
16.Что такое угловые миноры и главные миноры квадратной матрицы?
71
17.Сформулировать критерий Сильвестра проверки достаточных условий безусловного экстремума функции многих переменных.
18.Сформулировать критерий проверки необходимых условий экстремума второго порядка функции многих переменных.
19.Сформулировать второй способ проверки условий экстремума функции многих переменных (через собственные значения матрицы Гессе).
20.Сформулировать необходимые и достаточные условия безусловного экстремума функции f (x) одной переменной.
72
ГЛАВА 5
Общие принципы многомерной минимизации. Методы градиентного спуска. Метод сопряженных направлений и метод Ньютона
Решение задач минимизации в многомерных пространствах сопряжено, как правило, со значительными трудностями, особенно для многоэкстремальных функций. Многие из этих трудностей устраняются, если ограничиться рассмотрением только выпуклых квадратичных функций.
5.1. Выпуклые квадратичные функции
Во многих задачах оптимизации рассматриваются квадратичные функции, которые в n -мерном случае являются обобщением квадратного трехчлена одной
переменной f (x) = |
1 |
ax2 + bx + c . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Определение. Функция вида |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
n |
n |
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
f (x) = ∑∑αij xi x j + ∑bj x j + c |
|
|
|
|
|
|
|
|
(5.1) |
||||||||||||
|
|
|
|
|
|
|
i=1 j=1 |
|
j=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
называется квадратичной функцией n переменных. |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
Положив aij = αij |
+α ji , получим симметрическую матрицу A = (aij ), с помощью |
|||||||||||||||||||||||||
которой выражение (5.1) можно записать в другой форме |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
f (x) = |
1 |
( Ax, x) + (b, x) + c , |
|
|
|
|
|
|
|
|
|
|
(5.2) |
|||||||
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
где b = (b , ..., b |
n |
)T E |
n |
− вектор коэффициентов, |
x = (x , ..., |
x |
n |
)T ; (x, y) |
− скалярное |
|||||||||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
||||
произведение векторов x, |
y En . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
Пример 5.1. Функция |
f (x) = 2x2 |
− 2x x |
2 |
+ 3x x |
3 |
+ x2 − 2x |
2 |
x |
3 |
+ 4x2 |
+ x |
− x |
2 |
+ 3x |
3 |
+ 5 |
||||||||||
|
|
|
|
|
|
|
|
1 |
1 |
|
1 |
2 |
|
|
3 |
1 |
|
|
|
является квадратичной. Запишем ее матрицу A , вектор b и коэффициент c из (5.2)
|
4 |
− 2 |
3 |
|
|
|
1 |
|
|
|
− 2 |
2 |
− 2 |
|
, |
|
−1 |
|
, c = 5 . |
A = |
|
b = |
|
||||||
|
3 |
− 2 |
8 |
|
|
|
|
|
|
|
|
|
|
3 |
|
Перечислим наиболее важные свойства квадратичных функций. 1. Для градиента квадратичной функции (5.2) справедлива формула
73
∂ f
∂xk
f (x) = A x + b .
□ Запишем k -ю координату вектора f (x)
|
∂ |
|
|
1 |
n |
|
n |
n |
|
|
1 |
n |
n |
= |
|
|
|
|
∑∑aij xi x j + ∑bj x j |
|
= |
|
∑(aik + aki )xi +bk = ∑aki xi +bk . ■ |
||||
∂x |
|
2 |
2 |
||||||||||
|
|
|
= |
= |
= |
|
|
= |
= |
||||
|
|
k |
|
i 1 |
j 1 |
j 1 |
|
|
|
i 1 |
i 1 |
2. Гессиан квадратичной функции (5.2) совпадает с матрицей A H (x) = A .
□ Вычислим элемент матрицы Гессе
∂ |
2 |
f |
|
∂ |
|
∂ f |
|
|
∂ |
|
n |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
= |
|
|
= |
|
|
∑aki xi +bk |
= akl . ■ |
|||
∂xl ∂xk |
|
|
|
|
|
||||||||
|
∂xl |
∂xk |
|
∂xl i=1 |
|
|
3. Квадратичная функция (5.2) с положительно определенной матрицей A сильно выпукла.
□ Так как матрица H (x) = A симметрична и положительно определена, то все ее собственные значения λi положительны и существует ортонормированный базис из собственных векторов этой матрицы.
|
λ |
0 |
... |
0 |
|
|
λ |
−l |
0 |
... |
|
1 |
λ2 |
... |
0 |
|
|
1 |
0 |
λ2 −l ... |
|
|
0 |
|
|
|
||||||
A = |
|
... |
... |
... |
, |
A −lE = |
|
|
... |
... |
... |
|
... |
||||||||
|
0 |
0 |
... |
|
|
|
|
0 |
0 |
... |
|
λn |
|
|
0 |
|
0 |
|
|
|
... |
. |
|
λn −l
В этом базисе все угловые миноры матрицы A и матрицы A − l E
положительны при достаточно малом 0 < l < λmin , а это означает, что функция f (x)
сильно выпукла.
Пример 5.2. Показать, что квадратичная функция из предыдущего примера
f (x) = 2x2 |
− 2x x |
2 |
+ 3x x |
3 |
+ x2 |
− 2x |
2 |
x |
3 |
+ 4x2 |
+ x |
− x |
2 |
+ 3x |
3 |
+ 5 сильно выпукла. |
|||||||
1 |
1 |
1 |
2 |
|
|
|
3 |
1 |
|
|
|
|
|
|
|
|
|||||||
□ Матрица H (x) = A − положительно определена, так как |
|
|
|
||||||||||||||||||||
|
1 = 4 > 0; |
|
2 = |
|
4 |
|
− 2 |
|
|
|
|
|
|
4 |
− 2 |
3 |
|
= 22 > 0 . |
|||||
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
= 4 |
> 0; |
|
3 = |
|
− 2 |
2 − 2 |
|
||||||||||||
|
|
|
− 2 |
|
|
|
2 |
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
− 2 |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Следовательно, сильно выпукла по свойству 3 квадратичных функций. ■
Выпуклые квадратичные функции играют важную роль в теории многомерной оптимизации. Некоторые алгоритмы, разработанные с учетом свойств таких функций, позволяют найти их точку минимума за конечное число итераций. Во многих случаях эти алгоритмы оказываются эффективными и для неквадратичных
74