МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. ·...

18
МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ КВАДРАТИЧНОЙ ФУНКЦИИ. ПРОБЛЕМЫ СХОДИМОСТИ Методические указания Составитель Григорьева Ксения Владимировна Редактор А. В. Афанасьева Корректор А. Г . Лавров Компьютерная верстка Н. И. Печуконис Подписано к печати 28.12.2009 . Формат 60×84 1/16. Бум. офсетная. Усл. печ. л. 2,1. Уч.-изд. л. 2,3. Тираж 100 экз. Заказ 165. «С» 83 Санкт-Петербургский государственный архитектурно-строительный университет . 190005, Санкт-Петербург , 2-я Красноармейская ул., 4. Отпечатано на ризографе. 190005, Санкт-Петербург , 2-я Красноармейская ул., 5. Федеральное агентство по образованию Санкт-Петербургский государственный архитектурно-строительный университет Факультет ГС и ЖКХ Кафедра прикладной математики и информатики МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ КВАДРАТИЧНОЙ ФУНКЦИИ. ПРОБЛЕМЫ СХОДИМОСТИ Методические указания Санкт-Петербург 2009

Transcript of МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. ·...

Page 1: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

36

МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ КВАДРАТИЧНОЙ ФУНКЦИИ.

ПРОБЛЕМЫ СХОДИМОСТИ

Методические указания

Составитель Григорьева Ксения Владимировна

Редактор А. В. АфанасьеваКорректор А. Г. Лавров

Компьютерная верстка Н. И. Печуконис

Подписано к печати 28.12.2009 . Формат 60×84 1/16. Бум. офсетная.Усл. печ. л. 2,1. Уч.-изд. л. 2,3. Тираж 100 экз. Заказ 165. «С» 83

Санкт-Петербургский государственный архитектурно-строительный университет. 190005, Санкт-Петербург, 2-я Красноармейская ул., 4.

Отпечатано на ризографе. 190005, Санкт-Петербург, 2-я Красноармейская ул., 5.

1

Федеральное агентство по образованию

Санкт-Петербургский государственный архитектурно-строительный университет

Факультет ГС и ЖКХКафедра прикладной математики и информатики

МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ

КВАДРАТИЧНОЙ ФУНКЦИИ. ПРОБЛЕМЫ СХОДИМОСТИ

Методические указания

Санкт-Петербург 2009

Page 2: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

2

УДК 519.6

Рецензент канд. физ.-мат. наук, доцент кафедры МТМСУ факультета ПМ-ПУ СПбГУ Г. Ш. Тамасян

Методы решения задачи минимизации квадратичной функции. Проблемы сходимости: метод. указания / сост. К. В. Григорьева; СПб. гос. архит.-строит. ун-т. – СПб., 2009. – 36 с.

Рассматриваются основы теории и примеры решения задачи минимиза-ции квадратичной функции в рамках курса «Численные методы. Практикум на ЭВМ». В качестве методов решения задачи предлагается изучить следующие алгоритмы: метод наискорейшего градиентного спуска, метод покоординатно-го спуска, метод сопряженных градиентов. Приведены примеры типовых рас-четов. Методические указания предназначены для студентов специальности «Прикладная математика» очной и заочной форм обучения.

Ил. 38. Библиогр.: 3 назв.

© Санкт-Петербургский государственный архитектурно-строительный университет, 2009

35

ОГЛАВЛЕНИЕ

1. Постановка задачи. Вспомогательные сведения ....................... 32. Свойства квадратичной функции ............................................... 73. Методы спуска → градиентные методы → метод наискорейшего градиентного спуска (МНГС) ............................. 9 3.1. Общий план методов спуска ................................................ 9 3.2. Выбор направления и шага спуска. Метод наискорейшего спуска ....................................................... 10 3.3. Метод наискорейшего градиентного спуска .....................11 3.4. Критерий окончания итераций .......................................... 12 3.5. Геометрический смысл МНГС .......................................... 12 3.6. Сходимость и проблема «оврагов» .................................. 13 3.7. Примеры .............................................................................. 144. Метод покоординатного спуска (МПКС) ................................ 17 4.1. Геометрическая интерпретация ......................................... 17 4.2. Примеры .............................................................................. 185. Метод сопряженных градиентов (МСГ) ................................. 20 5.1. Алгоритм метода ................................................................. 20 5.2. Геометрическая интерпретация ......................................... 20 5.3. Примеры .............................................................................. 216. Типовой расчет ........................................................................... 227. Практическая реализация методов минимизации квадратичной функции средствами Microsoft Offi ce Excel 2007 ....................................................................................... 23Рекомендуемая литература ............................................................ 33

Page 3: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

34 3

1. ПОСТАНОВКА ЗАДАЧИ. ВСПОМОГАТЕЛЬНЫЕ СВЕДЕНИЯ

Пусть Rn – n-мерное евклидово пространство.Определение 1.1. Задача минимизации функции ( ) 1: RRDf n →⊂ при условии nRXx ⊂∈ называется в общем

случае задачей нелинейного программирования. Ее стандартное обозначение

( ) .minDXx

xf∩∈

(1.1)

Если f – линейная функция, а D и X – многогранники, то (1.1) называется задачей линейного программирования, или линей-ной программой. Если f – квадратичная функция, а D и X – много-гранники, то (1.1) называется задачей квадратичного програм-мирования, или квадратичной программой.

Функция f называется целевой или минимизируемой функцией. Если X = Rn, то тогда (1.1) называется задачей безусловной ми-

нимизации. Если X ≠ Rn, то – задачей условной минимизации.Определение 1.2. Решением задачи (1.1) будем называть либо

пару (x*, f*), если существует конечная точка минимума x*, либо пару ({xk)∞k=1, f*), где {xk)∞k=1 X – минимизирующая последователь-ность со свойством

( ) fxf kk = → ∞→ :*

( ){ }Xxxf ∈= ,inf . ♣1

Конечная точка минимума существует не всегда. Например, для выпуклой функции f (x) = ex существуют конечный инфимум

0* =f и минимизирующая последовательность kx k −= , но нет конечной точки минимума. Бывает, что нет и конечного инфиму-ма. Например, если f(x) = ln(x), D = (0, +∞), то инфимум f* = –∞ доставляется минимизирующей последовательностью kx k 1= . Минимизирующая последовательность существует всегда.

Определение 1.3. Точка Xx ∈* называется точкой глобаль-ного минимума функции f на множестве X, если для всех Xx ∈ выполняется неравенство

( ) ( )xfxf ≤*

. (1.2)

1 Символ окончания утверждений различных типов, доказательств, а также примеров, когда последующий текст не имеет наименования.

Page 4: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

4

Значение f (x*) называется минимальным значением функции f на X. Точка Xx ∈* называется точкой локального минимума функции f, если существует такая δ – окрестность Sδ этой точки, что для всех x ∈ Sδ выполняется неравенство (1.2). Если имеет место f (x*) < f (x) для всех x ∈ X \{x*} или для всех x ∈ Sδ \{x*}, то x – точка строгого глобального или локального минимума соот-ветственно. ♣

Рис. 1.1

На рис. 1.1 изображены глобальный (c), строгий локальный (d) и нестрогие локальные [ ]bax ,∈ минимумы.

В нелинейном программировании особую роль играют выпу-клые функции, так как локальный минимум выпуклой функции является глобальным минимумом, а строгая выпуклость обеспе-чивает еще единственность глобального минимума.

Определение 1.4. Функция f называется выпуклой на множе-стве X, если [ ]1,0,, ∈λ∈∀ Xxx , выполняется неравенство

( )( ) ( ) ( ) ( )xfxfxxf λ−+λ≤λ−+λ 11 . ♣ (1.3)

Если в (1.3) заменить ≤ на < при ( )1,0∈λ , то получим опреде-ление строго выпуклой функции. ♣

Геометрический смысл этого определения заключается в том, что график функции f на отрезке выпуклости [ ]xx, лежит ниже хорды, соединяющей точки ( )( )xfx, и ( )( )xfx, (рис. 1.2).Замечание. Выполнение неравенства (1.3) влечет выпуклость

области задания функции f, так как истинность неравенства (1.3) означает, в частности, задание функции f в точке ( )xx λ−+λ 1 , которая является точкой отрезка, соединяющего произвольные точки x и x из области задания X. Неравенство (1.3) не может быть истинным, если функция f не определена в этих точках. Если множество X – несвязное, то обязательно найдется точка Xx∈ , для которой функция f не определена. ♣

33

Рекомендуемая литература

1. Васильев, Ф. П. Численные методы решения экстремальных задач / Ф. П. Васильев. – М., 1988.

2. Пшеничный, Б. Н. Численные методы в экстремальных за-дачах / Б. Н. Пшеничный, Ю. М. Данилин. – М., 1975.

3. Карманов, В. Г. Математическое программирование / В. Г. Карманов. – М., 1986.

Page 5: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

32

Аналогично решим пример 3.2 (рис. 7.27–7.28).

Рис. 7.27

Рис. 7.28

5

Далее будет рассмотрена задача безусловной минимизации квадратичной функции в пространстве столбцов Rn. Напомним следующие определения.

Рис. 1.2

Определение 1.5. Вектор-столбец из первых частных произ-водных функции f (x)

( ) ( ) ( ) ( ) T

nxxf

xxf

xxfxf

∂∂

∂∂

∂=′ ...,,,:21

называется градиентом функции f (x), а вектор-столбецg (x) = – f ΄ (x) называется антиградиентом.

Определение 1.6. Точка x, для которой выполняется равенство f ' (x) = 0, называется стационарной точкой функции f .Определение 1.7. Множество точек Гс, для которых целевая функция принимает постоянное значение f (x) = c, в случае 2>n называется поверхностью уровня, а в случае 2=n – линией уровня. ♣

Например, функция ( )21 , xxfz = задает в трехмерном про-странстве некоторую поверхность, низшая точка которой, соглас-но определению 1.2, есть решение задачи минимизации (рис. 1.3). Проведем несколько плоскостей вида z = const. Линиями уровня будут проекции на плоскость Ox1x2 линий пересечения этих пло-скостей с поверхностью.

Теорема 1.1. Если в точке x градиент не равен нулю, то он перпендикулярен к проходящей через эту точку поверхности уровня. ♣

Page 6: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

6

Рис. 1.3

В направлении антиградиента происходит наискорейшее убы-вание функции, т. е. если мы делаем шаг бесконечно малой длины в некотором направлении (см. рис. 1.3), то наибольшее убывание функции произойдет тогда, когда этот шаг совпадет по направ-лению с антиградиентом. Это свойство антиградиента лежит в основе ряда итерационных методов минимизации функций.

31

Рис. 7.24–7.25

Протянув вторую строку (рис. 7.25) вниз и построив график, получим рис. 7.26.

Рис. 7.25

Рис. 7.26

Page 7: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

30

Рис. 7.21

Аналогично получаем решение примера 3.2 (рис. 22П).

Рис. 7.22

3. МСГ

Для МСГ будем использовать ту же схему решения, что и в МПКС. Изменится лишь формула в диапазонах, соответствую-щих направлению спуска pk (рис. 7.23 и 7.24).

Рис. 7.23

7

2. СВОЙСТВА КВАДРАТИЧНОЙ ФУНКЦИИ

Определение 2.1. Квадратичная функция есть сумма квадра-тичной формы xT Ax, линейной формы bTx и константы:

( ) xxf T=

21 Ax

cxbT ++ , (2.1)

где A – симметричная матрица порядка n, nRb ∈ , 1Rc ∈ .Определение 2.2. Квадратичная форма xT Ax и матрица А на-

зываются положительно определенными (ПО), если xT Ax > 0

при любом 0≠x . Если же ∀ xx T Ax > 0, то они положительно полуопределены (ППО). ♣

Поведение квадратичной формы можно определить собствен-ными числами матрицы А.

Определение 2.3. Если выполнены условия Ax xλ= , где λ – число и 0≠x , то столбец x называется собственным векто-ром матрицы A. Скаляр λ называется собственным числом ма-трицы A. ♣

Полный набор всех собственных чисел матрицы A будем обозна-чать через Eig(A), наибольшее собственное число – через EIG(A), наименьшее – через ( )Aeig . Собственные числа удовлетворяют уравнению 0=λ− EA , т. е. Eig(A) есть набор из n корней харак-теристического полинома EA λ− степени n, где E – единичная матрица размерности n × n.

Теорема 2.1. Если матрица A симметрична, то из ее соб-ственных векторов можно построить ортонормированный базис

( )neeS ,,1 K= , niEe ni ,1, =∈ , в котором квадратичная форма

имеет вид

xT Ax = (y1, ... , yn) diag [Eig(A)] ,1

21

∑=

λ=

n

iii

n

yy

yK (2.2)

где ( )[ ]AEigdiag – диагональная матрица, по главной диагонали которой находятся собственные числа матрицы А. При этом, если из векторов ei составить матрицу S, то x = Sy, где ( )T

nyyy ,,1 K= ,yi – координаты вектора x в ортонормированном базисе S, а

( )[ ] SA T=Eigdiag AS.

Page 8: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

8

Следствие 2.1. Из (2.2) следует, что для ПО матрицы A необ-ходимо и достаточно положительности ее собственных чисел, а для ППО – их неотрицательности. ♣

Если обозначить через m положительную оценку снизу для Eig(A) и через M – оценку сверху для EIG(A), то имеет место сле-дующая система неравенств, определяющая ПО квадратичной формы: 2 ≤ xxm T Ax .0,2 >≤ mxM (2.3)

Теорема 2.2. Пусть f (x) – дважды дифференцируема, т. е. f (x) ( )nRC 2∈ . Для того чтобы функция f (x) была выпуклой, не-обходимо и достаточно, чтобы ее матрица вторых производных

( )xf ′′ была ППО. ♣Таким образом, квадратичная функция (2.1), для которой вы-

полняется (2.3), является выпуклой. Ее производные вычисляют-ся по формулам ( )xf =′ Ax + b и ( ) Axf =′′ , поэтому имеет место следующая теорема.

Теорема 2.3. Если матрица A – ПО, то квадратичная функция (2.1) имеет в Rn единственную точку минимума x*, удовлетво-ряющую системе линейных алгебраических уравнений (СЛАУ) Ax* + b = 0.

29

Очевидно, что сходимость достигается за гораздо большее ко-личество шагов (рис. 7.18).

Рис. 7.18

2. МПКС

В МПКС используется антиградиент, но само направление спуска принципиально другое, а именно: за направление спуска берутся координатные оси. Иначе вычисляется и шаг спуска. За исключением этих двух переменных все остальные сохраняют те же формулы, что и для МНГС (рис. 7.19 и 7.20).

Рис. 7.19

Рис. 7.20

Окончательный результат имеет вид, как на рис. 7.21.

Page 9: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

28

Рис. 7.16

Для примера 3.2 (далее) на том же листе также применим ал-горитм МНГС (рис. 7.17).

Рис. 7.17

9

3. МЕТОДЫ СПУСКА → ГРАДИЕНТНЫЕ МЕТОДЫ → МЕТОД НАИСКОРЕЙШЕГО

ГРАДИЕНТНОГО СПУСКА (МНГС)

Определение 3.1. Методами спуска называются итераци-онные методы, применяемые для решения задачи минимизации функции нескольких переменных, для которых каждая итерация (шаг) приводит к уменьшению значения целевой функции

( )kxf +1

( )kxf< 0≥∀ k . ♣ (3.1)

В численных методах индекс итерации принято размещать сверху справа от обозначения итеративной точки, если она – век-торная величина. Это позволяет сохранить обозначения компо-нент вектора с помощью нижнего индекса.

3.1. Общий план методов спуска

1°. Выбирается начальное приближение – некоторая точка x0. Целесообразно использовать всю имеющуюся информацию о поведении целевой функции ( )xf , чтобы выбрать x0 поближе к точке минимума.

2°. Пусть приближение xk к точке минимума найдено и *xx k ≠ .Выбирается направление спуска, т. е. вектор 0≠kp , такой, что для всех достаточно малых 0>α справедливо неравенство

( )kk pxf α+

( )kxf< (см. п. 3.2).

3°. Определяется величина шага спуска по направлению pk, т. е. положительное число 0>α k , для которого выполняется неравенство

( )kk

k pxf α+

( )kxf< (см. п. 3.2).

4°. За очередное приближение к точке минимума принимается

kk

kk pxx α+=+1 . (3.2)

5°. Проверяется выполнение критерия окончания итераций (см. п. 3.4 для 1+= ki ). Если критерий выполняется, то итерации прекращаем и полагаем 1* +≈ kxx . В противном случае возвраща-емся к п. 2°.

Page 10: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

10

Определение 3.2. Последовательность точек {xk}∞k=0 в методе

спуска называют траекторией спуска.

3.2. Выбор направления и шага спуска. Метод наискорейшего спуска

Способ выбора направления спуска pk определяет конкретный численный метод, а различные алгоритмы вычисления шага спу-ска αk задают варианты этого метода.

Рассмотрим, каким образом выбирается направление pk, ко-торое обеспечивает убывание целевой функции на бесконечно малом положительном шаге α. Предполагая непрерывность пер-вых частных производных целевой функции, разложим ее в ряд Тэйлора в точке xk: f (xk + αpk) = f (xk) + α (f ΄ (xk), pk) + o(α), где (...) – скалярное произведение. Тогда если (f ΄ (xk), pk) < 0 , (3.3)

то f (xk + αpk) – f (xk) < 0. Таким образом, чтобы pk было направ-лением спуска, необходимо и достаточно, чтобы pk составляло острый угол с антиградиентом.

Определение 3.3. Методы, основанные на выборе в качестве направления спуска pk антиградиента gk или – βf ΄(xk), β > 0 , на-зываются градиентными. ♣Градиент, как правило, меняется при переходе из точки в точ-

ку, следовательно, меняется и направление наискорейшего убы-вания функции. Антиградиентное направление может не являться наилучшим из возможных направлений спуска, поскольку всег-да существует направление из текущей точки непосредственно в точку минимума (см. рис. 1.3), но мы его не знаем.

Будем рассматривать следующий способ выбора шага. Введем функцию одной скалярной переменной Fk(α) = f (xk + αpk) и опре-делим αk, решая задачу одномерной минимизации

( )0

min≥α

→αkF (3.4)

аналитически, например, для квадратичной функции, либо каким-либо итеративным методом.

Разложим в ряд Тэйлора в точке xk функцию

f (xk + αpk) = f (xk ) + α (f ' (xk ), pk) + 1 α2(f '' (xk) pk, pk) + o (α2). 2

27

Выделив диапазон A7:Q7, потянем «крестик» вниз (рис. 7.14) до тех пор, пока не появится в столбце М запись, запрограммиро-ванная нами, «корень получен за … шагов», где количество шагов прописывается из столбца А (рис. 7.15).

Рис. 7.14

Для полноты картины нам требуется построить график пере-хода от итерации к итерации и в итоге – к искомой точке мини-мума. Для этого воспользуемся вкладкой «Вставка» – «мастер диаграмм» – «точечная, на которой значения соединены от-резками». Заполнив диапазон значений координат x1 и x2, вы-делив соответственно диапазоны J6:J10 и K6:K10, мы получим ломаную, изображенную на рис. 7.15. Через каждую вершину от-резков ломаной можно для наглядности условно провести линии уровня поверхности, как на рис. 7.16.

Рис. 7.15

Page 11: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

26

Первую строку можно считать законченной, если в ячейке Q6 мы получим значение квадратичной функции в первом прибли-жении, для чего в эту ячейку введем соответствующую формулу (рис. 7.10).

Рис. 7.10

Во второй строке в ячейке A7 введем формулу «=A6 + 1», а в диапазон B7:C7 – ссылку на приближение x, полученное в первой строке (рис. 7.11).

Рис. 7.11

Далее выделим E6:Q6, в правом нижнем конце диапазона по-явится черный «крестик» (рис. 7.12), потянув за который вниз на одну строку, мы получим заполненную вторую строку (рис. 7.13).

Рис. 7.12

Рис. 7.1311

В силу выпуклости квадратного трехчлена с ПО матрицей А имеет место разложение

Fk (α) = f (xk + αgk) = f (xk) – α (gk, pk) + 1 α2(Apk, pk) 2

где при положительном старшем коэффициенте единственная точка минимума αk ≥ 0 может быть найдена из необходимого условия экстремума F'k (α) = – (gk, pk) + α(Apk, pk) = 0. Тогда, не-зависимо от направления спуска pk, для квадратичной функции решение задачи (3.4) αk имеет вид

αk = (pk, gk)

(Apk, pk) . (3.5)

Градиентный метод, в котором на каждой итерации использу-ется шаг, являющийся решением задачи (3.4), был предложен в 1845 г. О. Коши и называется методом наискорейшего спуска.

Отметим, что минимум по направлению не является миниму-мом целевой функции, если направление не указывает на точку минимума.

3.3. Метод наискорейшего градиентного спуска

Опишем алгоритм метода наискорейшего градиентного спуска для квадратичной функции (2.1). Пусть построена точка nk Rx ∈ .

1°. Вычислим gk = – (Axk + b) nR∈ – градиентное направление спуска.

2°. Определим 1Rk ∈α – шаг метода в данном направлении – из формулы (3.5) при условии, что 0≠kg :

αk = (gk, gk )

(Agk, gk )

. (3.6)

Очевидно, что при подстановке αk в (3.2) построенная точка xk+1 удовлетворяет условию (3.1).

3°. Вычисляем следующую итерацию xk+1 по формуле (3.2). Проверяется выполнение критерия окончания итераций (см. (3.7)–(3.9) для i = k + 1). Если критерий выполняется, то итерации прекращаем и полагаем 1* +≈ kxx . В противном случае возвра-щаемся к п. 1°. Продолжая указанные построения, получим ми-нимизирующую f (x) последовательность {xk}.

Page 12: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

12

3.4. Критерий окончания итераций

Критерием прекращения процесса вычислений на i-м шаге ча-сто выбирается близость нормы градиента к нулю

( ) ε<′ ixf . (3.7)

Помимо критерия (3.7) используются также

1

1 ε<− −ii xx (3.8)

и

( ) ( ) ,2

1 ε<− −ii xfxf (3.9)

где 21 ,, εεε – заданные положительные числа. Нередко использу-ют различные их сочетания, например, требуют, чтобы одновре-менно выполнялись условия (3.8) и (3.9) или даже все три условия (3.7)–(3.9).

3.5. Геометрический смысл МНГС

Из начальной точки x0 осуществляем спуск перпендикулярно линии уровня Г0 = {x | f (x) = f (x0)} в направлении антиградиента g0 и движемся до тех пор, пока не будет достигнуто минимальное на луче L0 = x | x = x0 + αg0, α ≥ 0} значение функции f (рис. 3.1).

Рис. 3.1

Из условия (3.4) получаем F'0 (α0) = (f ' (x0 +α0g0), g0) = (g1, g0),

α0 > 0. Это равенство означает, что направление g0 и, следователь-25

G2:G3, соответствующий вектору b, а в формуле «мумнож» запол-няем поля ввода диапазоном C2:D3, соответствующим матрице А, и транспонированным вектором начального приближения x0.

Заметим, что вместо аргументов и констант мы вводим ссыл-ки на соответствующие ячейки, кроме того, ссылки на константы необходимо «фиксировать» с помощью «горячей клавиши» F4, чтобы впоследствии при вычислениях константы свои значения не меняли.

После того как формула будет введена, произведем одновре-менное нажатие клавиш «Ctrl-Shift-Enter»1 и получим числовой результат в диапазоне E6:F6.

Аналогично введем формулу шага спуска и следующего при-ближения x (рис. 7.7 и 7.8).

Рис. 7.7

Рис. 7.8

Критерий остановки процесса будем проверять в ячейке M6 с помощью функции «Если» (рис. 7.9, поле ввода формулы).

Рис. 7.9

1 При работе с массивами вместо клавиши «Enter» всегда используется сочета-ние клавиш «Ctrl-Shift-Ebter»

Page 13: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

24

Затем создадим «заготовки» для вычислений в виде коммента-риев «№», «xk», «gk», «αk», «xk+1», «||gk||» и «z» (рис. 7.4, где «№» – номер итерации; «||gk||» – евклидова норма антиградиента; «z» – значение квадратичной функции в точке минимума, а «gk», «αk», «xk+1» вычисляются по соответствующим формулам: антигради-ента и (3.6), (3.2)).

Рис. 7.4

Заполним ячейки A6, B6 и C6 (рис. 5): номер итерации – 1, на-чальное приближение – (0, 0).

Рис. 7.5

Выделим ячейки E6:F6, в поле ввода формулы (рис. 7.6) поста-вим знак «равно»1 и воспользуемся «мастером функций» (слева вверху на рис. 7.6). Поскольку выделен диапазон по горизонтали, а антиградиент – это вектор-столбец, то вызываем функцию транс-понирования «трансп». В нее записываем знак «–» из формулы антиградиента, открываем и закрываем скобки, в которых запи-сываем функцию перемножения матриц «мумнож», воспользо-вавшись снова «мастером функций», к ней прибавляем диапазон

Рис. 7.6

1 Со знака «=» начинается ввод любой вычислительной формулы.

13

но, луч L0 являются касательными к линии уровня Г1 = { x | f (x) = = f (x1)} в точке x1. Из точки x1 проводят спуск в перпендикуляр-ном линии уровня Г1 направлении g1, пока соответствующий луч L1 не коснется в точке x2 линии уровня, проходящей через эту точ-ку, и т. д.

В градиентных методах спуск происходит по нормали к линии уровня, траектория спуска носит зигзагообразный характер и гра-диенты в любых двух последовательных точках ортогональны.

3.6. Сходимость и проблема «оврагов»

Градиентный метод сходится достаточно быстро, если для ми-нимизируемой функции f (x) поверхности уровня близки к сфе-рам (при n = 2 – к окружностям – см. рис. 3.1). Если же линии уровня сильно вытянуты в каком-то направлении, то по нормали к этому направлению целевая функция меняется значительно бы-стрее, чем вдоль направления. Такой характер целевой функции называется овражным (рис. 3.2). «Дно оврага» к тому же может быть искривлено.

Если начальная точка x0 попадает на «склон оврага», то на-правление градиентного спуска из этой и последующих точек будет почти перпендикулярным ко «дну оврага», хотя надо бы двигаться вдоль «дна оврага». Из-за малых шагов процесс прак-тически останавливается вдали от точки минимума x*, поэтому сходимость градиентного метода может быть очень медленной.

Рис. 3.2

Поверхностями уровня квадратичной функции (в случае ПО) служат n-мерные эллипсоиды с центром в точке x*. В двумерном

Page 14: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

14

случае графику ПО квадратичной формы соответствует поверх-ность, которая называется эллиптическим параболоидом. Линии уровня этой поверхности – концентрические эллипсы. Канониче-ское уравнение эллипса 12

222

21

21 =+ axax , где a1 и a2 – его по-

луоси. Перепишем выражение (2.2) в виде xT Ax = ( )∑=

λn

iiiy

1

2 1 .

Очевидно, что длины полуосей эллипсоида (эллипса) обрат-но пропорциональны квадратным корням из собственных чисел. Если одно собственное число много меньше всех остальных, то ему соответствует полуось, длина которой много больше длин других полуосей, т. е. эллипсоид (эллипс) будет иметь сильно вы-тянутую форму. Отношение длины большей оси к длине меньшей оси равно ( ) ( ) ( )AAA eigEIG=ν – числу обусловленности матри-цы А. Очевиден вывод: чем отношение ( ) ( )AA eigEIG больше, тем ярче выражен овражный характер квадратичной функции, тем медленнее сходимость метода.

Теорема 3.1. Пусть А – симметричная ПО матрица и миними-зируется квадратичная функция (2.1). Тогда при любом выборе начального приближения МНГС сходится к точке x* минимума функции (2.1) со скоростью геометрической прогрессии, знаме-натель которой

( ) ( )( ) ( ) ( )( ).eigEIGeigEIG AAAAq +−=

Причем если ( )Aeig и ( )AEIG близки, т. е. ( ) ( ) 1eigEIG ≈AA , то q мало, тогда метод сходится достаточно быстро. Если же

( )AEIG >> ( )Aeig , то 1≈q и следует ожидать медленной сходи-мости метода.

Теорема 3.2. Оценка расстояния от произвольной точки nk Rx ∈ до точки минимума x* функции f (x) может быть пред-

ставлена в виде

m

xxk ≤− 1* Axk b+ . (3.10)

3.7. Примеры

Пример 3.1. Решить задачу минимизации квадратичной функ-ции ( ) 21

22

2121 442, xxxxxxf −−+= с помощью метода наиско-

рейшего спуска.23

7. Практическая реализация методов минимизации квадратичной функции средствами Microsoft Offi ce Excel 2007

Рассмотрим реализацию методов минимизации квадратичной функции средствами Microsoft Offi ce Excel 2007 на примерах 3.1 и 3.2.

Для начала откроем книгу программы Microsoft Offi ce Excel 2007 и переименуем листы 1, 2 и 3 в «МНГС», «МПКС», «МСГ» соответственно, как показано на рис. 7.1 и 7.2.

Рис. 7.1

Рис. 7.2

1. МНГС

На листе «МНГС» Книги 1 введем матрицу A, вектор b и соот-ветствующие комментарии, как показано на рис. 7.3.

Рис. 7.3

Page 15: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

22

6. Типовой расчет

Пусть

,53

;1

+−

=

+−−

=NN

bNN

NNA

где параметр N равен номеру студента по списку группы.Создать программу реализации метода решения задачи ми-

нимизации (2.1). Построить линии уровня с указанием векторов спуска. Метод определяется преподавателем.

Найти решение x* СЛАУ Ax + b = 0. Вывести точное x* и при-ближенное xk решение.

Сравнить kxx −* с 1−− kk xx . Проверить вычисления при различных начальных векторах x0 и проследить за зависимостью k от x0. Указать скорость сходимости q.

15

Запишем функцию в виде (2.1), где матрица

=

4002

A симмет-

ричная A = AT и ПО ( )4,2 21 =λ=λ , а вектор ( )Tb 4,4 −−= . Заме-тим, что ( ) ( ) ( ) 6122, 2

22

121 −−+−= xxxxf , поэтому точка ми-нимума ( )Tx 1,2* = заранее известна. Пусть ( )Tx 0,00 = – началь-ное приближение. Тогда

( ) ( ) ( )( ) ,31

,,

,4,4 00

00

000 ==α=+−=

gAggg

bAxg TAx0

Ag0

( ) ;332,34,34 100

01 =+=α+= bAxgxx T 32Ax1

( ) ( ) ,31,34,34 111 =α−=+−= TbAxg Ax1

( ) ;332,98,916 2211

12 =+=α+= bAxgxx T 32Ax216

( ) ( ) ,31,94,94 122 =α=+−= TbAxg Ax2

( ) .332,2728,2752 3211

12 =+=α+= bAxgxx T 3228 272752 Ax2

Заметим, что 0332 →=+ ∞→kkk bAx 32Axk . Таким образом,

последовательность xk, полученная по МНГС, сходится со скоро-стью геометрической прогрессии, знаменатель которой q = 1/3. Траектория спуска представлена на рис. 3.3.

Рис. 3.3

Пример 3.2. Применение МНГС для минимизации квадрати-чой функции ( )21 , xxf 2

1 0x += 10 2122 44 xxx −− с симметричной

( ) ,31,94,94 1 =α= T

( ) ,31,34,34 1 =α−= T

( )00 +−= bAxg Ax0

Page 16: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

16

и ПО матрицей

=

20002

A20

( ,2 21 =λ=λ 20) при ( )Tx 0,00 =

дает последовательность приближений

( ) ( )( )

( ) ( )( )

( ) ( ) ,111,11423,11423

;11232,118,1108

,111,1163,1163

;11232

,114,114

,111,4,4

23322

24222211

121

11

221

00

010

00

=α=+−=

=+=α+=

=α−=+−=

=+

=α+=

=α=+−=

T

T

T

T

T

bxAg

bxAgxx

bxAg

bxA

gxx

bxAg

( )...............

;11232,11412,111204 36223311

12 =+=α+= bxAgxx T

( ) 011924 →=+∞→k

kk bxA ,

где x* = (2, 0.2)T. Траектория спуска изображена на рис. 3.4. По-следовательность xk сходится здесь со скоростью геометрической прогрессии, знаменатель которой q = 9/11, т. е. существенно мед-леннее, чем в предыдущем примере.

Рис. 3.4

( ) ,111,1163,1163 1 =α−= T

( ) ,111,11423,11423 233 =α= T

21

Рис. 5.1

нимума 2x , в ней вычислить антиградиент g2, 121 gg=β и

11

22 pgp β+= и т. д.

5.3. Примеры

Пример 5.1. Применим метод сопряженных градиентов к ква-дратичной функции из примера 4.1 ( ) 2

22121 xxxxxf ++= . Пусть

x0 = (0, 3)T, p0 = g0 = ( – 3, – 2 3)T, x1 = ( – 5 3/14, 4 3/14)T, g1 = (6 3/14, – 3 3/14)T.

Сделаем второй шаг не по антиградиенту, а по сопряжен-ному направлению p1. Вычислим

201

0419==β gg . Далее

p1 = g1 + β0g0 = (75 3/142, – 60 3/142)T. Точка x2 на луче x1 + αp1

имеет координаты 3/14 ( – 5 + α2 75/14) и 3/14 ( 4 – α2 60/14). При α2 = 14/15 обе координаты обращаются в нуль.

Согласно теореме 5.1, метод сопряженных градиентов при ми-нимизации квадратичной функции дает точку минимума не более чем за n шагов (у нас n = 2) независимо от выбора начальной точки. Это означает, что направление p1 ведет в точку минимума (0, 0)T.

Page 17: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

20

5. МЕТОД СОПРЯЖЕННЫХ ГРАДИЕНТОВ (МСГ)

5.1. Алгоритм метода

Идея этого метода в том, чтобы на каждом шаге в качестве на-правления спуска использовать не антиградиент, а его линейную комбинацию с прежним направлением спуска. Последователь-ность векторов спуска pk строится следующим образом:

1. 00 gp = , т. е. первый шаг делается по антиградиенту;2. k

kkk pgp β+= ++ 11 , где kk

k gg 1+=β ;3. ,1 k

kkk pxx α+=+ где αk находится из формулы (3.5),

2,1,0=k , ... .Заметим, что при вычислении βk используются только гради-

енты, а для вычисления нового направления нужно помнить и использовать старое направление, а не старый антиградиент. В методе сопряженных градиентов новое и старое направления не ортогональны.

Определение 5.1. Векторы называются сопряженными, если они удовлетворяют условию (pi, Apj ) = 0 при любом ji ≠ , т. е. являются A-ортогональными. ♣

В случае минимизации положительно определенной квадра-тичной формы с матрицей A все направления спуска pi оказыва-ются A-ортогональными, из чего и происходит название метода.

Теорема 5.1. Если целевая функция от n переменных пред-ставляет собой квадратичную форму, то алгоритм сопряженных градиентов дает точку минимума не более чем за n шагов. ♣

Практически же в «овражных» случаях из-за неточности вы-числения шага может потребоваться несколько больше шагов, в некоторых случаях метод может зацикливаться.

5.2. Геометрическая интерпретация

Сделав из начальной точки x0 шаг по методу наискорейшего спуска, вычислим антиградиент g1 в новой точке x1 (рис. 5.1).

Будем использовать вместо антиградиента g1 направление спуска 0

011 ggp β+= , вдоль которого нужно дойти до точки ми-

17

4. МЕТОД ПОКООРДИНАТНОГО СПУСКА (МПКС)

В этом методе в качестве очередного направления спуска выбирается направление одной из координатных осей pk = ei = = (0, ... , 0,1i, 0,...,0)T, а шаг спуска – по формуле (3.5).

4.1. Геометрическая интерпретация

Геометрический смысл метода состоит в движении в направле-ниях, параллельных координатным осям (рис. 4.1, а): точка (x0, y0) описывает начальное приближение. Проводя спуск по координа-те x, попадем в точку (x1, y0). Двигаясь параллельно оси ординат, придем в точку (x1, y1) и т. д. При движении вдоль координатной оси идем до точки минимума, т. е. касания некоторой линии уров-ня.

Рис. 4.1

Число шагов зависит от начального приближения и, главное, от ориентации линий уровня относительно координатных осей. Так, в задаче минимизации квадратичной функции при ориентации осей эллипсов вдоль координатных осей достаточно однократ-ного применения цикла. В овражных случаях при произвольной ориентации относительно координатных осей даже в квадратич-ной задаче метод работает плохо (рис. 4.1, б).

а) б)

Page 18: МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ МИНИМИЗАЦИИ ... · 2019. 4. 30. · Квадратичная функция есть сумма квадра-тичной формы

18

4.2. Примеры

Пример 4.1. Рассмотрим функцию ( ) 2221

21 xxxxxf ++= ,

в матричном виде ( ) xxf T

21= Ax, где

=

2112

A . Собственные

числа матрицы A: 1;3 21 =λ=λ . Вычислим собственные векторы матрицы A:

1°. ⇒=λ 31

.2,,11

;0;011

11 121 =∈

=⇒=+−⇒=

−−

XECCXxxx

2°. ⇒=λ 12

.2,,1

1;0;0

1111 1

21 =∈

=⇒=+⇒=

XECCXxxx

Ортонормированные собственные векторы ( )Te 21,211 =

и ( )Te 21,212 −= соответственно. Так как xy 1−ε= , а

== εε −

212121211 ,

то( )( )

−+

=

=21

21

2

1

2121

21212121

xxxx

xx

y .

Таким образом, новые переменные следующие:( )211 21 xxy += и ( )212 21 xxy −= , а

( ) ( ) ( ) ( ) .41

433

21 2

212

2122

21 xxxxyyxF −++=+=

Линии уровня целевой функции – эллипсы с центром в начале координат, так как отсутствует линейная часть (рис. 4.2).

Зададим точность расчетов ε = 0,05.1°. Пусть задана начальная точка ( ) ( ),1,1 00 == xfx T = 3. Фик-

сируем x2 = 1 и решаем задачу ( ) ( )1

min1411

43 2

12

1 xxx →−++ .

Минимум достигается в точке x1 = – 1/2 и равен 3/4.2°. Фиксируем x1 = – 1/2 и ищем минимум функции

19

,21

41

21

43 2

2

2

2

++

− xx который достигается в точке x2 = 1/4

и равен 3/16. Получаем точку (–1/2, 1/4)T .3°. Фиксируем x2 = 1/4 и находим x1 = – 1/8.4°. Фиксируем x1 = – 1/8 и находим x2 = – 1/16. В точке (–1/8,

1/16) значение целевой функции равно 3/256. Так как | f (–1/8, 1/16) – f (–1/2, 1/4)| = 3/256 < 0,05, то процесс завершен.

МНГС из той же начальной точки (1, 1)T дает минимум за одну итерацию, так как g0 = – (Ax0 + b)T = ( ) =++− Txxxx 2121 2,2

( )T3,3 −−= , и при α0 = (g0, g0) / (Ag0, g0) = 1/3 мы получаем точку минимума ( )Tgxx 0,00

001 =α+= .

С другой стороны, если взять за начальное приближение точ-ку (0, 3)T, которая лежит на той же линии уровня, что и точка (1, 1)T, и первой изменять x2, а не x1, то покоординатный спуск дает минимум за один шаг, в то время как наискорейший спускg0 = (– 3, – 2 3)T из точки (0, 3)T дает за одну итерацию точку x1 = (– 5 3/14, 4 3/14)T, в которой целевая функция имеет зна-чение 9/28. Если сделать еще один шаг по антиградиенту g1 = (6

3/14, – 3 3/14)T, то получим (при α1 = 5/6) точку (0, 3 3/28)T, значение целевой функции в ней равно 27/784. Таким образом, после двух итераций по одной из координат отклонение от точ-ки минимума составляет примерно 0,17, а по целевой функции – примерно 0,034.

Рис. 4.2