Исследование операций и методы оптимизации. Часть 1. Лекционный курс
.pdf120
Данные, полученные при проведении итерации на основе одномерного поиска по методу квадратичной интерполяции, приведены в табл. 9.1.
Таблица 9.1
k |
xk |
xk |
f (xk ) |
|
1 |
2 |
|
1 |
-1,2403 |
2,13 |
24,23 |
|
|
|
|
2 |
0,1441 |
0,1447 |
0,354 |
|
|
|
|
3 |
-0,0181 |
0,0309 |
0,0052 |
|
|
|
|
4 |
0,0021 |
0,0021 |
0,0000 |
|
|
|
|
Несмотря на то, что МК не имеет большого практического значения, он реализует важнейшие шаги большинства градиентных методов.
9.3.3 Метод Ньютона (МН)
Итерационная формула МН имеет вид:
xk+1 = xk − 2 f (xk ) −1 f (xk ).
Эта формула есть не что иное, как МН в применении к решению системы нелинейных уравнений:
∂f (x) = 0, i =1,…, n . ∂xi
Замечание. В МН и направление, и шаг перемещения фиксированы. Если f (x) строго выпуклая функция, то МН сходится за одну итерацию.
Пример 9.4. Методом Ньютона найти |
|
|||||
min f (x)= 8x2 |
+ 4x x |
2 |
+ 5x |
2 |
, где x0 |
= [10 ;10]T . |
1 |
1 |
|
2 |
|
|
Решение. Найдем градиент и матрицу Гессе в начальной точке
f (x) = (16x1 + 4x2;10x2 + 4x1 ),
H f (x) = 2 f (x0 ) |
16 |
4 |
|
|
|
|
|
|
|||
= |
4 |
. |
|
|
|
|
|
||||
|
|
|
|
10 |
|
|
|
|
|
|
|
Используя формулу МН, получаем: |
|
|
|
|
|||||||
x1 = [10;10]T − |
1 |
|
10 |
− 4 |
|
200 |
|
= [0;0]T |
|
||
|
|
|
|
|
|
|
|
|
, |
||
|
|
|
|
|
|||||||
|
144 |
|
|
16 |
|
|
140 |
|
|
|
|
|
− 4 |
|
|
|
|
|
|||||
что совпадает с точным решением. |
|
|
|
|
|
||||||
Если функция |
f (x) |
не |
квадратичная, |
то МН не отличается высоким |
|||||||
быстродействием и надежностью. |
|
|
|
|
|
9.3.4 Модифицированный метод Ньютона (МН)
121
В модифицированном МН последовательность итераций строится в соответствии с формулой:
|
xk +1 = xk − λ |
k |
[ 2 f (xk )]−1 f (xk ). |
||
|
|
|
|
|
|
Выбор λk осуществляется таким образом, |
чтобы минимизировать ЦФ по λ : |
||||
f (xk +1)= f xk − λ 2 f |
(xk ) −1 f (xk ) → min . |
||||
|
|
|
|
|
λ |
|
|
|
Это гарантирует выполнение неравенства
f (x k +1 )≤ f (x k ).
Недостаток. При использовании модифицированного метода Ньютона на каждой итерации возникает необходимость построения и решения линейного уравнения,
содержащего элементы матрицы Гессе 2 f (xk ), т.е. направление спуска dk находим из решения системы линейных уравнений
2 f (xk ) dk = f (xk ) и затем вычисляем следующее приближение точки
экстремума
xk+1 = xk − λkdk .
9.3.5 Метод Флетчера–Ривза (МФР)
Запишем формулу для k (9.20)
k = |
( f (xk ) − f (xk−1))T f (xk ) |
(9.23) |
( f (xk ) − f (xk−1))T dk−1 |
|
Потребуем выполнения следующего условия:
( f (xk ))T f (xk−1) = 0.
Кроме того, выбор длины шага λk (см. (20) производится из условия, ( f (xk ))T dk−1 = 0 , где xk = xk−1 − λkdk−1.
Тогда (9.23) примет вид
k = − |
( f (xk ))T f (xk ) |
(9.24) |
( f (xk−1))T dk−1 |
Если в формуле (24) в знаменателе вместо dk−1 использовать антиградиент функции в точке xk−1, т.е. dk−1 = −f (xk−1) , то получим метод Флетчера и Ривза.
Алгоритм Флетчера-Ривза
|
122 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Шаг 1. |
Задаем начальную точку x0 ; положить d0 = −f (x0 ). |
|
||||||||||||
Шаг 2. |
Выбрать значениеλk , минимизирующее значение функции |
|||||||||||||
Φ (λ) = f (xk−1 − λdk ). |
|
|
|
|
||||||||||
Положить: |
|
|
|
|
||||||||||
xk = xk−1 |
− λkdk−1, dk = − f (xk )+ µkdk−1, µk = |
|
|
|
|
|
|
f T (xk ) |
|
|
|
2 |
. |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
f (xk−1) |
|
|
2 |
|||||
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
Проверка критерия останова: Да: → конец. Нет: k = k + 1→ Ш. 2.
Достоинство МФР: малый объем памяти (необходимо хранить
вектора f (xk ) и f (xk−1), а также текущее направление dk ); скорость сходимости значительно выше классических градиентных методов.
Пример 9.5. Найти точку минимума целевой функции методом Флетчера-Ривза.
|
f (x)= 4x2 + 3x |
2 |
− 4x x |
2 |
+ x , x0 |
= [0;0]T . |
|
1 |
2 |
1 |
1 |
|
|
|
|
|
Решение. |
d0 = − f (x0 )= [−1;0]T . |
||
Шаг 1. |
f (x)= (8x1 − 4x2 + 1, 6x2 − 4x1), |
|||||
|
Шаг 2. |
|
Поиск вдоль прямой: |
x1 = x0 − λ1 f (x0 )→ λ1 = 18; x1 = [0; 0]− (18)[1; 0]= [−1/8; 0].
Шаг 3. k =1: f (x1)= [0; 1/ 2] ; µ1 = 14;
d1 = − f (x1)+ µ1d0 |
= −[0; 1/ 2]+ |
1 |
[−1; 0]= [−1/ 4; −1/ 2]. |
||||||
4 |
|||||||||
Шаг 4. |
|
Поиск вдоль прямой: |
|
||||||
|
|
|
|||||||
x2 = x1 − λ |
2 |
d → λ |
2 |
= −1 4, |
|
|
|||
|
1 |
|
|
|
|
|
|||
x2 = [−1/8; 0]− |
1 |
×[1/ 4;1/ 2]= [− 3/16; −1/8], |
|||||||
4 |
|||||||||
|
|
|
|
|
|
|
|
f (x2 )= [0; 0]T - следовательно, имеем стационарную точку.
Таким образом, x = x2 .
Решение получено в результате проведения двух одномерных поисков, а т.к. ЦФ - квадратичная функция, то ошибка округления отсутствует.
9.3.6 Вариант Полака-Рибьера (МПР)
Метод основан на точной процедуре проведения поиска вдоль прямой и на более общем предположении об аппроксимации ЦФ.
Метод реализуется с помощью следующих соотношений:
xk = xk−1 − λkdk−1, dk = − fk + µkdk−1,
|
|
|
|
|
|
|
|
|
|
|
123 |
|
|
|
f |
T ∆ f |
k |
|
|
||||
µ |
k |
= |
|
|
|
k |
, |
(9.25) |
|||
|
|
|
|
|
|||||||
|
|
|
|
fk−1 |
|
2 |
|
|
|||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
||||
где |
∆fk = fk − fk−1; λk |
- параметр, значение которого определяется в результате |
|||||||||
поиска вдоль прямой. |
|
||||||||||
|
|
|
|
|
Заметим, что формула |
(9.25) следует из (9.23). Действительно, знаменатель с |
учетом условия ( f (xk ))T dk−1 = 0 (из этого уравнения определяется длина шага λk )
равен (− fk−1)T dk−1. Если теперь положить dk−1 = − f (xk−1) , как мы это делали в методе Флетчера-Ривза, то придем к формуле (9.25)
Легко видеть, что единственное различие между методами Флетчера –Ривза и Полака–Рибьера заключается в способах выбора параметра .
9.4 Квазиньютоновские методы (КМ) (методы с переменной метрикой)
Квазиньютоновские методы также основаны на свойствах квадратичных функций. Данные методы обладают положительными чертами метода Ньютона, однако используют только первые производные. С чем это связано?
Итерационный поиск по методу Ньютона осуществлялся по формуле (обобщенный случай с λ ):
xk +1 = xk − λk [ 2 f (xk )]−1 f (xk ).
Трудность может возникнуть, когда матрица Гессе 2 f (xk )= H f (xk ) не
является положительно определенной. В этом случае направление перемещения
dk = −[ 2 f (xk )]−1 f (xk )= − (H f )−1 f (xk )
может не быть направлением спуска и глобальная сходимость метода не будет обеспечена.
В таких ситуациях обратную матрицу Гессе [ 2 f (x)]−1 заменяют положительно
определенной матрицей Ak , дающей направление перемещения, исходя из градиентаf (xk ). Отсюда получаем итерационную формулу
xk +1 = xk − λk Ak f (xk ),
где λk выбирается так, чтобы минимизировать функцию f ( xk − λdk ) в направлении
d |
k |
= −Ak f (xk ). |
|
|
|
|
|
|
|
|
|
|
|
|
|
Для аппроксимации матрицы H |
−1 |
= |
2 f (x) −1 |
пользуются следующим |
|
|
|
f |
|
|
|
рекуррентным соотношением:
Ak+1 = Ak + Ack ,
где Ack - корректирующая матрица.
Для матрицы Ack получена следующая оценка
|
|
124 |
|
k |
= |
(∆xk − Ak∆gk )(∆xk − Ak∆gk )T |
, |
A |
(∆gk )T (∆xk − Ak∆gk ) |
||
c |
|
|
|
|
|
|
где ∆xk = xk+1 − xk , ∆gk = g(xk+1) − g(xk ) = fk+1 − fk .
Доказано, что для квадратичной функции f (x) с положительно определенной
матрицей A последовательность матриц Ak сходится |
не |
более |
чем |
за n этапов к |
|||||||||||||||||||||
обращению матрицы A−1 гессиана функции |
f (x). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
9.4.1 Метод Дэвидона–Флетчера–Пауэлла (ДФП) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
Корректирующая матрица определяется по формуле: |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
= ∆x |
k |
(∆ x |
k |
) |
T |
− A |
k |
∆ g |
k |
(∆ g |
k |
) |
T |
(A |
k |
) |
T |
, |
|||||
|
Ack |
||||||||||||||||||||||||
|
|
(∆ xk )T ∆ gk |
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
(∆ gk )T (Ak )T ∆ gk |
|
|
(9.26) |
||||||||||||||||||
|
Ak +1 = Ak + |
Ak . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
c |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Данная рекуррентная формула сохраняет свойства симметрии и положительной |
|||||||||||||||||||||||||
определенности матриц. Поэтому, если |
A0 - симметричная положительно определенная |
||||||||||||||||||||||||
матрица, то |
матрицы A1, A2,… будут |
так |
же |
|
|
симметричными |
положительно |
||||||||||||||||||
определенными матрицами. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Обычно |
удобно выбирать |
A0 = E , |
где E - единичная матрица. Точка xk+1 |
||||||||||||||||||||||
получается из xk перемещением в направлении d |
k |
= −Ak f (xk ). |
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
= f (xk +1 )− f (xk ). |
||||||||||||||
В формуле (26): ∆ xk |
= xk +1 − xk ; |
|
∆ gk |
Свойство сохранения положительной определенности матриц существенно, ибо оно гарантирует, что направления dk , последовательно порождаемые алгоритмом,
являются |
направлениями спуска. Действительно, |
первая вариация f (x) равна |
||||
∆f (x)= f T (xk )∆x. Используя формулы (15) и (16), получаем: |
||||||
∆f (xk )= −λ |
k |
f T (xk )Ak f (xk )< 0, |
|
|||
|
|
|
|
|
|
|
откуда f |
(xk +1 )< f (xk )при любых λ |
k |
> 0, если Ak |
положительно определена. |
||
|
|
|
|
|
|
Достоинства метода
1.Метод ДФП – наиболее широко используемый градиентный метод.
2.Устойчивость – при решении самых различных задач, возникающих на практике.
Недостаток. Необходимость хранения матрицы Ak порядка n× n .
Пример 9.6. Найти минимум ЦФ f(x) методом ДФП.
|
f (x)= 4x2 |
+ 3x |
2 |
− 4x x |
2 |
+ x → min, |
x0 = [0;0]. |
||
|
1 |
|
|
|
2 |
1 |
1 |
|
|
|
|
|
|
|
|
|
Решение. |
|
|
|
Шаг 1. |
|
|
Положить d0 = − f (x0 )= −[1; 0]. |
|||||
Шаг 2. |
Поиск вдоль d |
0 |
|
приводит к результату: λ |
=1 8, x1 = [−1/8; 0]. |
||||
|
|
|
|
|
|
|
1 |
|
125
Шаг 3. |
k = 1; |
|
A1 = A0 + A0 |
; |
|
|
|
|
|
c |
|
A0 |
1 |
0 |
|
= E ; |
|
= |
|
|
|
||
|
0 |
1 |
|
|
|
|
|
|
A0 |
= |
∆x0∆x0T |
|
− |
A0∆g0∆g 0T A0 |
; |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
c |
|
∆x0T ∆g 0 |
|
|
|
∆g 0T A0∆g 0 |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
∆ x0 = [−1/8;0]− [0;0]= [−1/8;0]; |
|
|
|
|
|||||||||||||
|
|
|
∆g0 = f (x1 )− f (x0 )= [0;1/ 2]− [1;0]= [−1;1/ 2]; |
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
1 |
0 |
|
|
|
|
|
1 |
0 |
|
|
||
|
|
|
T |
|
|
|
|
|
|
|
|
[−1;1/ 2]T[−1;1/ 2] |
|
|
|
|
||||
|
|
|
[−1/8;0] |
|
|
0 |
1 |
|
|
|
|
|
0 |
1 |
|
|
||||
A |
0 |
= |
[−1/8;0] |
− |
|
|
|
|
|
|
|
; |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
c |
|
[−1/8;0][−1;1/ 2] |
|
|
|
[−1;1/ 2] |
1 |
0 |
[−1;…1/ 2]T |
|
|
|
||||||||
|
|
|
|
|
T |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A0 |
1 8 |
0 |
|
4 5 |
− 2 5 |
− 27 40 |
2 5 |
; |
|||||
= |
|
|
|
− |
|
|
|
= |
|
|
|
||
c |
|
0 |
0 |
|
|
− 2 5 |
1 5 |
|
|
2 5 |
−1 5 |
|
|
|
|
|
|
|
|
|
|
1 |
= A |
0 |
+ A |
0 |
13 40 |
2 5 |
|
; |
|
A |
|
|
= |
|
|
|
|||
|
|
|
c |
|
2 5 |
4 5 |
|
|
|
|
|
|
|
|
|
|
|
d1 = −A1 f (x1 )= −[1/ 5;2 / 5].
Шаг 4. Поиск вдоль прямой x2 = x1 − λ2d1 → λ2 = 516;
x2 = [−1/8;0]− (516) [1/5;2/5]= [− 3/16;−1/8],
что совпадает с полученным ранее решением данного примера методом Флетчера-Ривза.
Вопросы для самопроверки
1.Классификация методов многомерной оптимизации.
2.Симплекс-метод поиска минимума функции многих переменных.
3.Алгоритм симплекс-метода поиска минимума функции многих переменных
4.Метод Хука-Дживса.
5.Градиентные методы поиска минимума функции многих переменных.
6.Метод сопряженных направлений.
7.Метод Коши.
8.Метод Ньютона.
9.Модифицированный метод Ньютона.
10.Метод Флетчера-Ривза.
11.Метод Поллака-Рибьера.
12.Квазиньютоновские методы с переменной метрикой.
13.Метод Дэвидона-Флетчера-Пауэлла.
127
и подставляем y в целевую функцию f (x) = f (y,u) = f (Ψ(u),u) . Получим функцию (n − m) переменных u1,…un−m , на которую не наложено никаких ограничений, т. е.
получим задачу оптимизации без ограничений.
Для идентификации точки экстремума целевой функции можно использовать один из известных методов.
МЗП применим лишь в случаях, когда уравнения ограничения можно разрешить относительно некоторого конкретного набора независимых переменных. При наличии большого числа ограничений МЗП становится весьма трудоемкой процедурой. Кроме того, возможны ситуации, когда уравнение не удается разрешить относительно переменной, например:
h1(x) = x12x3 + x2x32 + x2−1x1
В этом случае целесообразно использовать метод множителей Лагранжа.
10.1.2Метод множителей Лагранжа (ММЛ)
Спомощью ММЛ устанавливают необходимое условие, позволяющее идентифицировать точки экстремума в задаче оптимизации с ограничениями – равенствами. При этом задача с ограничениями преобразуется в эквивалентную задачу безусловной оптимизации, в которой фигурируют некоторые неизвестные параметры – множители Лагранжа.
Рассмотрим задачу оптимизации:
f(x1, ..., xn ) → min, h(x1, ..., xn ) = 0.
В соответствии с ММЛ эта задача преобразуется в задачу оптимизации без ограничений.
L(x,λ) = f (x) + λh1(x) → min.
Функция L(x,λ)– функция Лагранжа.λ − const – множитель Лагранжа, на знак
которого никаких требований не накладывается. Проиллюстрируем ММЛ на конкретном примере:
Пример 10.2
min f (x) = x2 + x2 |
|
|
|
|||||||
: |
|
|
|
1 |
|
|
2 |
|
|
|
|
|
|
+ x |
− 2 = 0 |
|
|
|
|||
h(x) = 2x |
|
|
|
|||||||
|
1 |
2 |
|
|
|
|
|
|
||
Соответствующая задача оптимизации без ограничений записывается в следующем |
||||||||||
виде: |
|
|
|
|
|
|
|
|
|
|
L(x,λ) = x |
2 + x |
2 |
+ λ(2x |
+ x |
2 |
− 2) → min |
||||
|
1 |
2 |
1 |
|
|
|||||
|
∂L |
|
= 2x |
|
+ 2λ = 0 → x* = −λ |
|||||
|
|
|
||||||||
|
∂x1 |
1 |
|
|
|
1 |
|
|||
Решение: |
|
|
|
|
|
|
|
|||
∂L |
|
|
|
|
+ λ = 0 → x2* = − λ |
|||||
|
= 2x2 |
|
||||||||
|
|
|
||||||||
|
∂x2 |
|
|
|
|
|
|
2 |
129
Решение расширенной системы определяет стационарную точку функции L. Затем реализуется процедура проверки на минимум или максимум, которая проводится на основе вычисления элементов матрицы Гессе функции L, рассматриваемой как функция x .
Для некоторых задач расширенная система (n + m) уравнений с (n + m)
неизвестными может не иметь решений, и ММЛ окажется неприемлемым. Однако на практике такие задачи встречаются редко.
10.2.Необходимые и достаточные условия оптимальности задач
сограничениями общего вида
Необходимые и достаточные условия оптимальности первого порядка.
Выше было установлено, что множители Лагранжа можно использовать при построении критериев оптимальности для задач оптимизации с ограничениями в виде равенств. Кун и Таккер обобщили этот подход на случай общей задачи нелинейного программирования с ограничениями как в виде равенств, так и в виде нера венств.
Рассмотрим общую задачу нелинейного программирования
f(x)→ min |
|
|
|
|
|
|
≥ |
|
|
|
|
|
|
gi(x)≤0, |
i =1,m; |
(10.1) |
||||
hl(x) = 0, |
l = |
|
. |
|
||
1,p |
|
f (x),gi (x),hl (x)– непрерывные и дифференцируемые функции.
Необходимые и достаточные условия первого порядка выражаются следующей теоремой:
Теорема 10.1: Для того, чтобы точка x* была локальным оптимумом задачи (1), необходимо и достаточно, чтобы выполнялись следующие условия:
а) f (x) была выпукла;
б) gi (x)– вогнута, если gi (x) ≥ 0,
– выпукла, если gi (x) ≤ 0; в) hl – линейные;
г) существовали такие числа µ*i ≥ 0 и λ*l (произвольного знака), что
m |
p |
|
|||
f(x* ) ∑µ*i gi(x* )+ ∑λ*l hl(x* ) = 0; |
(10.2) |
||||
i=1 |
l=1 |
|
|||
µ*i gi(x* ) = 0 ; i = |
|
|
|
||
1,m |
(10.3) |
||||
h (x* ) = 0 ; l = |
|
. |
|
|
|
1,p |
|
|
(10.4) |
||
l |
|
|
|
В случаях задачи с ограничениями только типа равенств: f(x)→ min
hl(x) = 0 |
l = |
|
1,p |