Сер. 10. 2013. Вып. 1
ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА
УДК 539.75
Д. М. Лебедев, Л. Н. Полякова
ЗАДАЧА ПРОЕКТИРОВАНИЯ НУЛЕВОЙ ТОЧКИ НА КВАДРИКУ*)
1. Рассмотрим оптимизационную задачу: найти
inX ||*||, (1)
x^X
где
X = {x е R" | ^1(x) =0},
¥>i(x) = (Ax,x) +2{b1,x) + c, x, b1 е R", c е R,
A - матрица порядка [n x n] и || * || - евклидова норма. Множество X называется квадрикой или гиперповерхностью второго порядка. Поскольку множество X замкнуто, то инфимум в (1) достигается. Нетрудно видеть, что оптимальное значение в (1) может быть получено из решения следующей задачи:
min (x,x). (2)
xex
Как известно [1, 2], задача (2) - классическая задача оптимизации. Для ее решения Лагранж предложил перенести ограничения в целевую функцию. Нахождение условного экстремума с помощью вспомогательной функции и составляет основу метода множителей Лагранжа (см., например, [3]). Решение задачи (2) методом множителей Лагранжа в общем случае сводится к решению системы нелинейных уравнений. Следует отметить, что методом Лагранжа возможно найти лишь точки, которые являются стационарными для задачи (2).
Так как матрица A симметричная, то все ее собственные числа Xi (i = l,...,n) вещественные. Как известно из курса алгебры [4, 5], существует такая ортогональная матрица Q, что линейное преобразование y = QTx приводит функцию y>i(x), определяющую множество X, к виду
v(y) = (Ay,y) +2(QT bi,y) + c,
Лебедев Дмитрий Михайлович — аспирант кафедры математической теории моделирования систем управления факультета прикладной математики—процессов управления Санкт-Петербургского государственного университета. Научный руководитель: доктор физико-математических наук, проф. Л. Н. Полякова. Количество опубликованных работ: 2. Научные направления: выпуклый анализ, недифференцируемая оптимизация. E-mail:[email protected].
Полякова Людмила Николаевна — доктор физико-математических наук, профессор кафедры математической теории моделирования систем управления факультета прикладной математики— процессов управления Санкт-Петербургского государственного университета. Количество опубликованных работ: 72. Научные направления: выпуклый анализ, недифференцируемая оптимизация. E-mail: [email protected].
*) Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (грант № 12-01-00752).
© Д. М. Лебедев, Л Н. Полякова, 2013
здесь Л = diag {Ai,.. .,An} - диагональная матрица порядка [n х n]. Обозначим
Y = {у е Rn | v(v) = 0},
V(y) = (Лу, y) + 2{b, y) + с = 0, y,b е Rn, b = QTbi, с е R. Таким образом, наряду с (2) решаем такую задачу:
min (y,y). (3)
y£Y
Если решение y* задачи (3) найдено, то точка x* = Qy* будет решением задачи (2). Рассмотрим три случая.
а). Пусть с = 0. Тогда x* = 0n является решением (1).
б). Пусть с > 0. Тогда для определения точки минимума (3) решим следующую оптимизационную задачу: найти
min (y,y), (4)
y£Yi
Y = y е Rn
(Лу,у) + 2{b,y) + с < 0 , y,b е Rn, с е R.
где
Если точка y* е Yi - решение задачи (4), то необходимо существование такого числа I* > 0, для которого выполняется равенство
Лу* + i*y* = -b. (5)
в). Пусть с < 0. Тогда для нахождения точки минимума (3) решим следующую оптимизационную задачу: найти
min (y,y), (6)
y£Y2
Y = y е Rn
— (Лу, y) — 2{b, y) — с < 0 , y,b е Rn, с е R.
где
В этом случае, если точка у* € У - решение задачи (6), то необходимо существование такого числа ¡* > 0, для которого выполняется равенство
Лу* - ¡*у* = -Ь.
В обоих случаях число ¡* является множителем Лагранжа для задач (4) и (6). Кроме того, в точке минимума у* € У,, г = 1, 2, должно выполняться равенство
{Лу*,у*) +2(Ь,у*) + с = 0. (7)
Замечание!.. Если матрица Л положительно определена, то множества X и У\ ограничены, причем множество У\ выпукло. Как следует из теории оптимизации [!, 2], если точка у* € У\ есть точка минимума функции f (у) = {у, у) на выпуклом множестве У1, то необходимо и достаточно выполнение условия (5). При этом точка минимума единственна. Сформулируем необходимое условие максимума функции ] на У\.
Для того чтобы точка у* € У\ была точкой максимума функции f на выпуклом множестве У\, необходимо выполнение условия:
существует такое число ¡* < 0, для которого выполняется равенство
Лу* + ¡*у* = -Ь. (8)
2. Пусть Ь = 0п и Л^ = 0, г = 1,...,п. Очевидно, что ¡* следует искать среди чисел \г, г = 1,...,п, взятых с нужным знаком. После этого задача нахождения точки минимума у* сводится к решению системы линейных уравнений и проверки равенства.
Пример 1. Рассмотрим задачу (2), в которой
У = {у = (у1,у2) € М2 | 2у2 - 3у2 - 1 = 0}. Множество У - гипербола. Для квадратичной функции, задающей ограничение:
Л=(0 -0з) , с = -1.
Так как с < 0, то рассматриваем случай в). Тогда
У2 = {у = (у1 ,у2) € М2 | -2у2 + 3у2 + 1 < 0}.
В этом случае ¡* =2. Собственными векторами для данного ¡* являются векторы вида у* = (в, 0) € М2, в € М. Определим нужные числа в. Имеем 2в2 = 1. Таким образом, точки
стационарны для этой задачи. Нетрудно заметить, что они - точки минимума функции ] на множестве У2 и, следовательно, на У.
3. Рассмотрим случай, когда Ь = 0п, с> 0. Преобразуем условие (5). Тогда
(Л + ¡*Е)у* = -Ь,
где Е - единичная матрица порядка [п х п]. Матрица Л + ¡*Е - диагональная:
Л + ¡*Е = diag {Л1 + ¡*,...,Хп + ц*}.
Обозначим через М1 - множество чисел ¡1 € М, для которых матрица Л + ¡Е невырождена. Нетрудно заметить, что в множестве М.1 не содержатся числа -Л^, г = 1,...,п. Поэтому для любого фиксированного числа 1 € М1 существует обратная матрица (Л + ¡Е)-1. Очевидно, что она также диагональная:
(А + ^Е)-1 1 1 1
Л1 + ¡ Л2 + ¡ Лп + ¡ Определим
'=-(Л+= (-(лгЪг та- ■ ■ • • та1 е
Подставим у в (7):
{Лу,у) + 2{Ь,у) + с =
х1ь
101
ХпЬп
ь1
Ьп
(Х1 + и)'""' (Хп + и)) ' V (Х1 + и)'""' (Хп + и)
т\
+
+ 2 (Ьь...,Ь„)т, -
Ь1
Ьп
(Х1 + и)' '' (Хп + и)
+ с-
_____
(Х1 + и)2
(Х„ + и) / \Х1 + и
2Ь1
+ ■■■ +
2Ь2п
Хп + и
+ С =
АгЬг2
,=1 (Х + и)2 ,=1 (Х + и)
^ 2Ь2
Имеем уравнение
Отсюда получаем
Е
ХЬ?
2Ь2
(Х, + и)2 (Х + и)
+ С = 0.
Ь (А,+м)2
Для того чтобы решить (9), необходимо найти корни многочлена Р(и) степени 2п
(9)
р (и) = Е
(2и + Х,)Ь2 П Х + и)2
к=1,к=г
- СЦ (Хк + и)2
к=1
(10)
Таким образом, задача нахождения точки, ближайшей к множеству У1, свелась к задаче определения положительных корней многочлена вида (10) степени 2п. Из основной теоремы алгебры следует, что многочлен степени 2п имеет ровно 2п корней. При п = 2 для нахождения и* можно применить известные способы Феррари или Эйлера. Конечно, корни могут быть и комплексными, и кратными. В рассматриваемом случае обязательно у многочлена (10) есть положительные корни. Используя известные теоремы алгебры (см., например, [4]), можно найти верхнюю границу его положительных корней.
Предположим, что все числа Х, > 0, г = 1,...,п. Тогда матрица Л положительно определена и множество У1 выпукло. В этом случае задача (4) есть задача выпуклого программирования и точка минимума единственна. Следовательно, у многочлена Р(и) один положительный корень и, по крайней мере, один отрицательный. Остальные корни либо отрицательные, либо комплексные. Поэтому можно указать интервал, в котором содержится единственный положительный корень. Его можно вычислить, например, методом Ньютона, который имеет квадратичную скорость сходимости. Кроме того, если получены отрицательные корни, то, используя формулу (4), можно найти точки, которые удовлетворяют необходимому условию максимума (8).
Пример 2. Необходимо решить задачу (4), если
Л
2
2.5
3
В данном примере множество У\ выпукло. Составим многочлен Р(р):
Р(р) = 14р6 + 91р5 + 149р4 - 198р3 - 838р2 - 825р - 225.
У Р(р) есть два вещественных корня рх = 2.0684, р2 = -0.4538 и четыре комплексных. Таким образом,
-0.651
р* = 7.601, у = ( -0.614 -0.592
НУН = 1.073.
Точка у* - точка минимума.
4. Перейдем к рассмотрению задачи (2) при отрицательном с. Обозначим через М2 множество чисел р € К, для которых матрица Л - рЕ невырождена. Тогда для любого фиксированного числа р € М2 существует обратная матрица (Л - рЕ)-1. Очевидно, что она также диагональная:
(Л - рЕ)-1 = ^
1
1
1
Ах - р Х2 - р Хи - р
Если повторить рассуждения, аналогичные вышеизложенным, то нетрудно вывести, что, для того чтобы решить задачу (2), необходимо найти положительные корни многочлена Q(р) степени 2п
я(р) = Е
¿=1
(2р - А¿)b2 Ц (Ак - р)2
k=l,k=¿
+ сЦ (Ак - р)2
(11)
к=1
З а м е ч а н и е 2. Если матрица Л положительно определена, то множество У2 неограничено, причем множество с1 (Ки \ У2) выпукло и компактно. В этом случае все вещественные корни многочлена Q(р) будут стационарными точками. Поскольку их конечное число, то выбрать из них точку, минимальную по норме, принадлежащей квадрике, не представляет труда, как, впрочем, и точку, максимальную по норме.
Пример 3. Решить задачу (6), если матрица Л и вектор Ь такие же, как и в примере 2, но с = -7. Множество У2 не является выпуклым, поэтому может быть более одной точки минимума. Вычислим Q(р)
Q(р) = 14р6 - 245р5 + 1475р4 - 4230р3 + 6242р2 - 4531р + 1233.
У данного многочлена есть два вещественных положительных корня р* = 0.667, р* = 8.882 и четыре комплексных:
6.011
р1 = 0.667, у*х = ( -1.876 ), ||у*|| = 6.427, -1.286
0.254
р2 = 8.882, у2 = ( 0.363 ), \1у2*11 = 0.675. 2 2 0.510 2
Пример 4. Пусть множество X задано в виде
X = {(х1,х2) € К2 I ф(х) = 0}, ф(х) = 3x1 - 4х1х2 + 8x2 + 2х1 + х2 - 1.
Рис. 1. Множество X
На рис. 1 изображено множество X. Рассмотрим матрицу А =
3 -2 -2 8
Она
положительно определена, Х1 = 2.298, Х2 = 8.702 - ее собственные числа. Найдем жорданову форму матрицы А. Имеем
А = QЛQT,
где
0.943 -0.331 0.331 0.943
Л V 0 8.702 у , Q = Матрица Q ортогональна. Введем переменную у = Qтх. Рассмотрим функцию
Ф1 (у) = (Лу,у) +2^тЬ, у)-1, Ь =(1,0.5) е М2, у = (уху) е К2,
и множество
= {(у:,у2) е М2 | -Ф1 (у) < 0}.
Рис. 2. Множество У\
Множество У2 изображено серым на рис. 2. Очевидно, что оно неограничено. Так как в этом примере с = -1, то вычислим многочлен Q(р)
Q(р) = р4 - 24.500р3 + 207.000р2 - 676.500р + 615.000.
Он имеет четыре вещественных положительных корня: р1 = 1.445, р2 = 5.626, рз 8.151, р4 = 9.277. Найдем соответствующие им стационарные точки у*,. ..,у* € У2:
1.300 0.333 0.189 0.159
У1 = ( -0.019 у!, У2 = ^ -0.045 у ,Уз = ^ -0.256 у! , У4 \ 0.244
||У1|| = 1.300, ||у2|| = 0.336, ||уз|| =0.318, || у 41| = 0.292.
Все указанные точки являются точками локальных минимумов функции (у, у) на множестве У2. Очевидно, что точка у* - это точка минимума, точка у* - точка максимума задачи (6). Определим точки х*,...,х* € X:
1.221 0.330 0.263 0.069
х1 ^ -0.449 ), х2 ^ 0.067 ^ , хз ^ —0.17^ у , х4 ^ 0.283
Точка х* есть точка минимума, х* - точка максимума задачи (1). На рис. 1 значком о отмечены точки х* и х4, на рис. 2 - точки у* и у*.
ЗамечаниеЗ. Аналогичная методика для нахождения минимального значения функции максимума от двух квадратичных функций, одна из которых задавалась квадратичной функцией с положительно определенной матрицей, использовалась в [6]. В работе [7] представлен метод, позволяющий вычислить расстояние между эллипсоидом и квадрикой. В нем также строится многочлен и находится его наименьший положительный корень, который является квадратом расстояния между эллипсоидом и квадрикой.
Литература
1. Васильев Ф.П. Методы оптимизации. М.: Факториал пресс, 2002. 824 с.
2. Сухарев А. Г., Тимохов А. В., Федоров В. В. Курс методов оптимизации. М.: Наука, Гл. ред. физ.-мат. лит., 2005. 367 с.
3. Бертсекас Д. Условная оптимизация и методы множителей Лагранжа. М.: Радио и связь, 1987. 400 с.
4. Мишина А. П., Проскуряков И. В. Высшая алгебра. М.: Физматгиз, 1962. 300 с.
5. Фаддеев Д. К. Лекции по алгебре. М.: Наука, Гл. ред. физ.-мат. лит., 1984. 416 с.
6. Полякова Л. Н. Некоторые методы минимизации максимума квадратичных функций // Владикавказ. матем. журн. 2006. Т. 8, вып. 4. С. 47—57.
7. Утешев А. Ю., Яшина М. В. Нахождение расстояния от эллипсоида до плоскости и квадрики в К" // Докл. АН. 2008. Т. 419, № 4. С. 471-474.
Статья рекомендована к печати проф. В. Ф. Демьяновым. Статья принята к печати 25 октября 2012 г.