УДК 539.75
Вестник СПбГУ. Сер. 10. 2014. Вып. 1
Д. М. Лебедев, Л. Н. Полякова
МЕТОД ТОЧНЫХ ШТРАФОВ ДЛЯ РЕШЕНИЯ ОДНОЙ ЗАДАЧИ ВЫПУКЛОГО ПРОГРАММИРОВАНИЯ*)
Санкт-Петербургский государственный университет, 199034, Санкт-Петербург, Российская Федерация
В работе рассматривается задача условной минимизации квадратичной функции с положительно определенной матрицей на множестве, заданном с помощью неравенства. Множество непусто, компактно и не состоит из изолированной точки. Для решения задачи предлагается использовать метод точных штрафных функций. Он отличается от классического метода штрафных функций тем, что функция, определяющая множество, на котором минимизируется целевая функция, должна быть недифференцируемой в граничных точках, и должен существовать точный штрафной параметр, при котором минимум построенной функции штрафа совпадает с минимумом исходной задачи условной оптимизации. В работе строится метод, минимизирующий штрафную функцию с постоянным шагом и имеющий геометрическую скорость сходимости, аналогичный в гладком случае градиентному методу минимизации сильно выпуклой функции. Для нахождения направления спуска решается задача квадратичного программирования. Приводятся аналитические формулы для вычисления направления спуска и величины шага. Описанный алгоритм является релаксационным. Результат иллюстрируется примером. Библиогр. 6 назв.
Ключевые слова: сильно выпуклые функции, задача выпуклого программирования, метод точных штрафных функций, функция максимума, релаксационный метод, геометрическая скорость сходимости.
Lebedev D. M., Polyakova L. N. The exact penalty method for the solution of one problem of convex programming // Vestnik of St. Petersburg University. Ser. 10. Applied mathematics, computer science, control processes. 2014. Issue 1. P. 72—78.
The problem of conditional minimization of a quadratic function with positively defined matrix on the set specified by inequality is considered. The set is non-empty, compact and does not consists of isolated points. To solve this problem the article proposes to use the method of exact penalty functions. This method differs from the classical method of penalty functions that function, which determines the set which minimizes the objective function should be non-differentiable at boundary points, and there must be the exact penalty parameter at which the minimum built penalty functions coincides with the minimum of the original problem for constrained optimization. The paper constructs a method that minimizes the penalty function with constant step and having a geometric rate of convergence similar in the smooth case gradient method of minimization of the strongly convex function. To find the direction of descent the task of quadratic programming is solved. It provides analytical formulas to calculate the direction of descent and the step size. The described algorithm is relaxation. The result is illustrated by an example. Bibligr. 6.
Keywords: strongly convex functions, the task of convex programming, method of exact penalty functions, function maximum, relaxation method, geometric convergence rate.
Постановка задачи. Рассмотрим оптимизационную задачу
inf fi(x),
(1)
*) Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (грант № 12-01-00752).
© Д. М. Лебедев, Л. Н. Полякова, 2014
X = {х е М" I /2(х) < 0},
/2(х) = (Л2х,х) +2{Ъ2,х) + С2, Ь2 е М", С2 е М
и где матрицы Л1 и Л2 положительно определены. Предположим, что множество X непусто и не состоит из изолированной точки. В этом случае X есть выпуклый компакт. Тогда задача (1) - задача выпуклого программирования, и в данном случае инфимум в (1) достигается в единственной точке х* е X. Если х* является граничной точкой множества X, то найдется такое положительное число в, что справедливо равенство
Г, (х*) = -в/2 (х*).
Рассмотрим случай, когда точка минимума функции /1 не принадлежит множеству X.
Для (1) построим задачу, эквивалентную исходной, и решим ее методом точных штрафных функций.
Метод точных штрафных функций. Метод штрафных функций является одним из наиболее простых и широко известных методов решения задач нелинейного программирования. Он был введен Курантом в 1943 г. из соображений, связанных с физической природой исследуемой задачи. Основная идея метода состоит в приближенном сведении задачи минимизации при ограничениях к задаче минимизации некоторой функции без ограничений, при этом вспомогательная функция подбирается таким образом, чтобы она совпадала с заданной минимизируемой функцией внутри области и быстро возрастала вне ее.
Рассмотрим задачу условной оптимизации: найти
М /(х), (2)
хеХ
где / - непрерывная на М" функция. Предположим, что множество X С М" непусто, компактно и задано в виде
X = { х е М" 1 р(х) = 0},
здесь р - неотрицательная непрерывная на М" функция. Тогда множество X есть замкнутое множество точек глобального минимума функции р на М".
Как обычно, для решения задачи (2) методом штрафных функций введем функцию
Г (с, х) = / (х) + ср(х),
в которой с - некоторое неотрицательное число, называемое штрафным параметром, и рассмотрим задачу безусловной минимизации
Ш Г(с,х). (3)
хек"
Для применения методов штрафа важно предположение о существовании решений у вспомогательных задач. Будем предполагать, что инфимум в задаче (3) достигается для любого неотрицательного числа с. Достаточное условие для этого - ограниченность лебегова множества
С = {х е М" I /(х) < /(хо)}, где хо - некоторая точка из М".
Особый интерес представляют точные штрафные функции (см., например, [1-5]), т. е. функции, для которых существует такой штрафной параметр с*, что для любых с ^ с* множество точек минимума функции F(c,x) на М" будет совпадать с множеством решений задачи (2). Такой параметр с* будем называть точным штрафным параметром для семейства функций F(с, x). Поэтому любое число, превосходящее точный штрафной параметр, является также точным штрафным параметром. Рассмотрим оптимизационную задачу: найти
min fi(x) (4)
с
X = {x е М" | p(x) = 0}, p(x) = max{0, f2(x)}.
Несложно заметить, что задачи (1) и (4) эквивалентны. Для решения (4) воспользуемся методом точных штрафных функций.
При рассмотрении задач условной оптимизации огромную роль играют свойства функций, задающих ограничение. В дальнейшем будем предполагать, что для функции р справедливо разложение
p(x + ад) = p(x) + ар'(x, g) + o(a, x, g), x, g е М", а е М,
здесь ———> 0, и выполнено условие регулярности (см. [4]): для каждой гра-а
ничной точки x* е bd (X) существуют такие положительные числа e(x*) и ß(x*), что справедливо неравенство
^l^l>-p'(x,g)+ß(x*), (5)
а
Уа е (0,£(x*)], yx е A(X) n Se{x*)(x*), Уд е N(X,x), ||g|| = 1,
где через р'(x,g) обозначена производная по направлению g е М" функции р в точке x, множество |
A(X) = {x е bd(X) | 3z е X, x = prX(z)},
N(X,x) - нормальный конус к множеству X в точке x е X. Запись x = prx (z) означает, что точка x является проекцией точки z на множество X. При этом в каждой точке x е A(X) нормальный конус N(X, x) состоит не только из нулевого вектора. Здесь и далее через bd(X) обозначено множество граничных точек множества X, через Sr(xo) - замкнутый шар радиуса r с центром в точке xo:
Sr(x) = {x е М" 1 llx - x01| < r}.
Лемма 1 [4]. Условие регулярности (5) выполняется для функции р в каждой граничной точке множества X.
Теорема 1 [4]. Если множество X компактно и для функции р выполнено условие регулярности (5), то для семейства штрафных функций
F(сk, x) = f (x) +скр(^)
существует точный штрафной параметр с*, т. е.
x^k) е X Уск > с*.
Таким образом, выполнены все условия для существования точного штрафного параметра.
В работе [4] приведена формула для нахождения точного штрафного параметра в задаче выпуклого программирования.
Будем предполагать, что для рассматриваемой задачи такой параметр c* известен. Построим штрафную функцию
F (c*,x) = fi(x)+c* ф).
Тогда
F (c*,x) = max{fi(x),fi(x) + с* f2(x)} = = max{{Aix, x) + 2{bi, x), ((Ai + c*Ä2)x, x) + 2{(bi + c*b2), x) + C2}. Для получения решения (4) необходимо найти
inf F(c*, x). (6)
xeRn
Так как F(c*, x) является сильно выпуклой функцией, то она достигает своего минимума на R" в единственной точке x*. Отметим, что функция F(c* ,x) - негладкая, и при наших предположениях в x* активными будут обе функции, образующие функцию максимума. Таким образом, если x* есть точка минимума функции F(c*,x) на R", то необходимо и достаточно, чтобы выполнялись условия:
1) 0: -f (x*) = f[(x*) + c*f2(x*),
2) (Ä2 x*,x*) + 2{b2,x*) + c2 =0.
В работе [6] показано, как задачу (6) можно свести к нахождению положительного корня многочлена степени 2n, но, чтобы построить такой многочлен, следует произвести некоторые линейные преобразования квадратичных функций, образующих функцию максимума.
Рассмотрим применение метода минимизации с постоянным шагом функции максимума квадратичных функций, который описан в работе [6]. Данный метод обладает геометрической скоростью сходимости. В гладком случае он аналогичен градиентному методу минимизации сильно выпуклой функции. В нем для нахождения направления спуска необходимо решать задачу квадратичного программирования. Покажем, что для максимума двух квадратичных функций это направление выписывается аналитически. Пусть
ф(x) = Ш.&х{'фi(x), ф2(x)},
где фi, Ф2 - сильно выпуклые функции; mi,m2 - их константы сильной выпуклости. Известно, что функция ф является сильно выпуклой на R". В качестве ее константы сильной выпуклости можно взять число m = min{mi, m.2}. Рассмотрим задачу: найти
min ф(x). (7)
xeRn
Предположим следующее: существует такая константа M ^ 1, что выполнено неравенство
(ффЧ(x)w, w) < M||w||2 Vx e R", Vw e R", i = 1, 2, в котором ф" (x) - матрицы вторых производных функций фi, i = 1, 2, в точке x.
С каждой точкой x G М" свяжем оптимизационную задачу
min maxi + + ||21 = (8)
tuGR™ ¿=1,2 I 2 1
= min I max {(ipi(x) - ф{х))М + (фЦх),т)} + ^||w||2 I i=1,2 2
Обозначим через w(x) единственное решение (8) в точке x. Пусть
р(х) = max < (фг(х) - ф(х))М + (фЦх), w(x)) + 7r||w(x)||2 ¿=1,^1 2
Из необходимых условий минимума задачи (8) следует существование таких коэффициентов
\i(x) > 0, i = 1, 2, Ai(x)+\2(x) = l,
что
w(x) = -Ai(x)$1 (x) — A2 (x)tf2 (x),
2 1
p(x) = - ф{х))м --\\w(x)W2 < 0.
г=1
Лемма 2.
1). Функция р(х) тогда и только тогда равна нулю, когда точка х является точкой минимума функции ф на М".
2). Если вектор т(х) = 0п, то р(х) = 0.
3). Если х не есть решение задачи (7), то направление т(х) - направление спуска функции ф в точке х.
Таким образом, если х* - точка минимума функции ф на М", то 1л(х*) = 0п.
«Принципиальный» алгоритм минимизации. Опишем метод минимизации функции ф на всем пространстве М".
Выберем произвольную точку хо € М". Если точка хо есть точка минимума функции ф на М", то процесс останавливается.
Пусть уже найдена точка хк € М". Если точка хк - это точка минимума функции ф на М", то процесс закончен. Предположим, что точка хк не является точкой минимума функции ф на М". Найдем направление спуска (хк), т. е. решим оптимизационную задачу (8) при х = хк.
Положим а = —, Х/-+1 = Х)~ + жл(хк).
Лемма 3. В каждой точке хк выполняется неравенство
ф(хк+1) - ф(хк) ^-^р(хк). (9)
Итак, описанный метод - релаксационный.
Следствие 1. Если последовательность {хк} бесконечна, то р(хк) ^ 0 при к ^
Лемма 4. Для данного метода в каждой точке хк справедливо неравенство
р(хк) < т (ф(х*) - ф(хк)) . (10)
Следствие 2. Из формул (9) и (10) вытекает неравенство
Ф(хк+1) - ф(хк) < - ф(хк))-
Теорема 2. В данном методе при произвольной начальной точке x0 G М" последовательность {xk} сходится к точке минимума x* функции ф со скоростью геометрической прогрессии:
ф(хк+i) - Ф(х*) < q^(xk) - ф(х*)),
где q = 1 — —, и существует положительное число Q такое, что справедливо неравенство
\\хк-х*\KQ(v^)fc.
Замечание. Описанный алгоритм будет также релаксационным, если на каждом шаге проводить одномерную минимизацию вдоль найденного направления, т. е. искать
a(xk) = ак = arg minф(:ск + aw(xk)).
а>0
В этом случае шаговый множитель a(xk) вычисляется аналитически, так как минимизируется максимум двух сильно выпуклых квадратичных функций (парабол) на М.
Вычисление направления спуска. Рассмотрим более детально задачу определения направления спуска. Необходимо найти
min max < ai + (6i, w) + -!- ||w| |2, a2 + (b2, w) + |w| |2 1 , (11)
[ 2 2 J
где
a 1 = (Ф1 (x) - ф^М, a2 = ^2(x) - ф^))М, bi = ф¡(x), b2 = ф'2(x).
Безусловно, вначале проверяются точки минимумов функций fi и f2 на М". Если окажется, что одна из этих точек является решением задачи (11), то направление спуска w(x). В противном случае нужно исследовать случай, когда w + bi = 0 или w + b2 = 0, и в точке минимума активны обе функции. Тогда найдется число ß > 0, для которого справедливы равенства
(w + bi) = -ß(w + b2), ai + (bi, w) = a2 + (b2,w).
Решим систему (12). Из первого уравнения имеем
-ßb2 - bi w = -.
l+ß
Подставляя w во второе уравнение, получим
a2 - ai + (bi, bi - b2) , a (bi - b2,bi - b2)
ß= -77-7-TT, 1 +p =
(12)
ai - a2 - (b2, bi - b2)' ai - a2 - (b2, bi - b2)'
Отсюда находим
(ai - a2 - (b2, bi - b2))bi + (a,2 - ai + (bi, bi - b2))b2
w = — -
(bi - b2, bi - b2)
Нетрудно видеть, что в задаче (11) можно положить а,1 = 0. Тогда
^ _ «2 + {Ь\М - ъ2)
а2 + (Ь2,Ъ1 - Ъ2)'
Пример. Пусть
/(т) = т&х{/1(т), /2(ад)}, т € М2,
1 5 1
1Лги) = Фьи)) + -{и),и)), /2(ад) = - + (Ь2, и)) + -(и),и)),
Необходимо минимизировать функцию ] на '1 1\ ( 7Л
Точки го* = ( 2' — 2/ ' ^ = V _ 2 ' точки минимума функций /1 и /2 на .
Л(Ц) = /2(Ц) = | /К) = | = /2(Ц) = -|, М) = Ц.
Таким образом, = , — — ^ , ги\ = 3, — —^ не являются решением поставленной
задачи. Поэтому решением будет точка, в которой выполняются условия (12). Проведя нужные вычисления, имеем
* я 11 г< г< 49
= I 85'"170 ' /3=Т4' = =
Литература
1. Еремин И. И. Метод «штрафов» в выпуклом программировании // Докл. АН СССР. 1967. Т. 143, № 4. С. 748-751.
2. Zangwill W. Non-linear programming via penalty function // Management Sci. 1967. Vol. 13, N 5. P. 344-358.
3. Демьянов В. Ф. Точные штрафные функции в задачах негладкой оптимизации // Вестн. С.-Петерб. ун-та. Сер. 1: Математика, механика, астрономия. 1994. Вып. 4 (№ 22). С. 21-27.
4. Полякова Л. Н. О методе точных штрафных квазидифференцируемых функций // Журн. вычисл. математики и матем. физики. 2001. Т. 41, № 2. С. 225-238.
5. Polyakova L. N. Quasidifferentiable optimization: Exact penalty methods // Encyclopedia of Optimization / C. A. Floudas and P. M. Pardalos (eds.). Second Edition. New York: Springer, 2009. P. 32003205.
6. Полякова Л. Н. Некоторые методы минимизации максимума квадратичных функций // Владикавказ. матем. журн. 2006. Т. 8, вып. 4. С. 47-57.
Статья рекомендована к печати проф. В. Ф. Демьяновым. Статья поступила в редакцию 31 октября 2013 г.
Контактная информация
Лебедев Дмитрий Михайлович - аспирант; е-mail: [email protected]
Полякова Людмила Николаевна - доктор физико-математических наук, профессор; е-mail: [email protected]
Lebedev Dmitry Michailovich - post-graduate student, St. Petersburg State University, 199034, St. Petersburg, Russia Federation; e-mail: [email protected]
Polyakova Lyudmila Nikolaevna - doctor of physical and mathematical sciences, St. Petersburg State University, 199034, St. Petersburg, Russia Federation; e-mail: [email protected]