УДК 519.68
Вестник СПбГУ. Сер. 10, 2006, вып. 2
Я. И. Заботпин, И. А. Фукин
О ПРИНЦИПЕ АППРОКСИМАЦИИ ДОПУСТИМОГО МНОЖЕСТВА В МЕТОДАХ ВНУТРЕННИХ И ВНЕШНИХ ШТРАФОВ
Введение. Метод штрафных функций универсален и прост в реализации, чем привлекает внимание исследователей [1-5] более 30 лет. Не ослабевает к нему интерес и в последнее время [5]. Много работ [4-9] посвящено оценкам точности решения в методах внутренних и внешних штрафов. В отличие от них в [10] для решения с заданной точностью задачи выпуклого программирования методом штрафных функций было предложено использовать штрафные функции, построенные не по допустимому множеству, а по множеству, аппроксимирующему его изнутри. Там же приведен алгоритм, критерием остановки которого служит факт попадания точки минимума вспомогательной функции в разность допустимого множества и его аппроксимации. Аппроксимация строится таким образом, чтобы включение этой точки в допустимое множество гарантировало заданную точность по функционалу решения исходной задачи. В [11] использовались различные способы аппроксимации допустимого множества.
В настоящей работе ослаблены условия, налагаемые на целевую функцию и ограничения. В частности, снято условие выпуклости целевой функции и допустимого множества. Также предлагается алгоритм с аппроксимацией допустимого множества в методе барьерных функций.
Постановка задачи. Условие р-аппроксимируемости. Пусть функции /(ж), /¿(х) для г е / = {1,2,..., т} определены и непрерывны в п-мерном евклидовом пространстве Яп. Для любого числа Л определим множество £>(А) = {х : х е В,п,д(х) + А ^ 0}, где д(х) — тах{/Дж),г € I}. Считается, что минимум функции /(ж) на множестве £)(0) достигается и каждый локальный минимум является глобальным. Положим
Требуется по заданному числу е > 0 найти точку х' € X* = D(0) : f(x) — f* ^ e}. Всюду далее примем, что множество D(0) удовлетворяет условию Слейтера, т. е. {х : х € R,g(x) < 0} ф 0.
Далее будем считать, что функция (р(х) определена в В,п. число А таково, что
множество М(А) = {х : х € Rn,ip(x) ^ А} не пусто, G - заданное в Rn множество,
М( А) П G Ф 0 и, как обычно, р(х, М( А)) = inf ||ж -у ||.
жем(А)
Определение. Пусть a(t) - непрерывная положительная неубывающая функция при t > 0 и а(0) = 0. Функцию
будем называть (р, а, А)-аппроксимирующей снизу заданную функцию а функцию (р{х) - (р, а, А)-аппроксимируемой снизу на множестве С, если
г = mm{f(x),xeD(0)}.
(1)
(2)
ip(x) ^ ^р(х), Ух G G.
(3)
© Я. И. Заботин, И. А. Фукин, 2006
В [11] подобное понятие было использовано при a(i) = ß ■ t, ß > 0. Там же были доказаны следующие условия (р,/?, А)-аппроксимируемости снизу для выпуклой функции <р(х):
1) пусть функция <р(х) определена, непрерывна и является выпуклой на выпуклом множестве G С Rn, для числа Л множество G П М(А) ограничено, и существует точка х G G такая, что <р(х) < Л. Тогда найдется число ß — ß{X) > 0 такое, что для функции v(x), определенной условием (2) при a(t) = ß-t, ß > 0, будет выполняться неравенство
(3);
2) пусть функция <р(ж) является непрерывной и выпуклой на Rn. Если функция ip(x) является (р, /3, Л) -аппроксимируемой снизу на G С -Rn, то функция к(х) = т<р(х), 0 < т ^ 1, является (р,т/3, Л')-аппроксимируемой снизу на G при Л' ^ Л.
Очевидно, (p,ß, Л)-аппроксимируемые функции являются (р, а, А)-аппроксимируе-мыми. Однако класс (р. а, А)-аппроксимируемых функций, как будет показано ниже, значительно шире.
Теорема 1. Пусть функция <р(х) является квазивыпуклой в Rn. Тогда для любого А найдется такая непрерывная, положительная и неубывающая по t > 0 функция a(t), что для функции гр(х), определенной условием (2), будет выполняться неравенство (3).
Доказательство. Выберем произвольно точку х $ М(А). Пусть рг(х) - проекция точки х на множество М(А). По определению квазивыпуклости, <p(ix + (1 — t)pr(x)) ^ max{<p(x),<р(рг(х))} для любого t G [0,1]. Так как <р(х) > А, <р(рг(х)) = А, то <p(fx + (1 — t)pr(x)) ^ <р(х), или, что то же самое, <p(pr(x) + t(x — pr(x))) ^ <р(х). Таким образом, функция <p(pr(x) + t(x — рг(х))) не убывает по t G [0,1]. Так как точка рг(х) является проекцией любой точки prix) + i(x — pr(x)),i ^ 0, то функция ^(рг(х) -И(х — рг(х))) не убывает по t на отрезке [0, t'] при любом t' > 0. Тогда функция
a(t) = min <p(pr(x) + tтт~—^~7~Tiï ) _ ^ x?M(\) ||x-pr(x)||/
положительна и не убывает по t > 0. Построим функцию ф(х) — а(р(х,М(А))) + А. В любой точке у M (А) для нее верно
х — рт (х)
^ = Афг{х) + ||у"РГ(у)||||«-рг(х)||) ^
< v(pr(y) + Ну -^Иу^щ) = ^Ы-
Таким образом, указана функция, определенная условием (2), для которой выполняется неравенство (3). Теорема доказана.
Теорема 2. Пусть функция <р(х) является равномерно выпуклой в Rn с модулем выпуклости S(t). Тогда для любого А она (р, а, А)-аппроксимируема снизу в Rn при a(t)=S(t).
Доказательство. Выберем произвольно точку х0 0 M (А). Пусть хр - проекция точки хо на множество M (А). Для равномерно выпуклых функций выполняется неравенство [12, с. 221]
<р(яо) ^ <р(хр) + (с(хр),х0 - Хр) +<5(||х0 -Xpll) Vc(xp) G д<р(хр),
где д<р(хр) - субдифференциал функции <р(х) в точке хр. Докажем, что существует такой вектор с' G д(р(хр), что (с',хо -хр) ^ 0. Действительно, если бы это было не так,
то для всех с G д<р(хр) выполнялось бы неравенство (с, хо~хр) < 0, из которого следует, что хо — хр является направлением убывания функции <р(х) в точке хр. Противоречие имеет место в силу того, что хо 0 М(А) и <р(ахо + (1 —а)хр) > </?(хр) для любого а > 0. Таким образом, для некоторого с' G д<р(хр) получим <р(хо) ^ ¿(11жо — хр||) + <р(хр). Так как точка хо выбрана из множества Rn \ M (А) произвольно и <р(хр) = А, то неравенство (р(х) ^ 5(р(х,М(А)) -I- А) выполняется для любого х $ М(А). Теорема доказана.
Естественно, равномерно выпуклая функция является квазивыпуклой, и существование для нее (р, <т, А)-аппроксимирующей функции следует из теоремы 1. Однако в теореме 2 указан легко реализуемый способ выбора функции a (t).
Алгоритм на основе штрафной функции, построенной по погруженному множеству. Пусть у - (уи у2, . . . ,ут), У G Rm,Rm - {у '-Уг ^ 0, Vï = 1,..., m}. В Rm определим функцию Р(у) так, что
yeR-=> Р(у) = 0, yïR~m=^ Р(у) > 0. (4)
Обозначим V(x) = P(fi(x) +p,...,fm(x) 4- р) и А(а) = {х G Rn : V(x) ^ а,а ^ 0}. Учитывая (4), легко заметить, что V(x) — 0 при х G А(0) и V(x) > 0 при х $ А(0).
При р > 0, так как Л(0) = D(p), множество Л(0) является погруженным в £>(0), т. е. D(0) является окрестностью множества Л(0).
Всюду далее будем предполагать, что выполнены условия:
а) функция f(x) удовлетворяет на множестве D(Q) условию Липшица с константой
ц
б) существует такое число А' < 0, что при всех A G [А', 0) и при некоторой функции a(t) функция д(х) является (р, а, А)-аппроксимируемой снизу в Rn.
Введем вспомогательную функцию
F(x,C) = /(х)+СТ(х), С> 0, (5)
и множество аргументов ее минимума
Х(С) — Argmin{F(x, С),х G Rn}- (6)
Посредством х(С) обозначим точки множества Х{С)] точки х* G Argmin{/(х),х G £>(0)},xp G Argmin{/(x),x G D(p)}.
Теорема 3. Пусть числоp G (0, mm{a(e/L), —A'}). Тогда неравенство f{x) — f* < e выполняется для любой точки x G Q, где Q = {x G Rn : /(x) ^ fp} П D(0), fp = f{xp).
Доказательство. Пусть хо - проекция точки x* на множество D(p). Так как f(x*) ^ /(х) ^ /(х0), то
f{x) - /(ж*) ^ /(х0) - /(х*). (7)
Так как функция д(х) является (/?, <т, А)-аппроксимируемой снизу при всех А > А', -р > А' и х* £ D(p), то д(х*) ^ о"(||х* - х0||) - р. Тогда, в силу д(х*) ^ 0 и условий теоремы, имеем сг(||х* — хр||) ^ р < a(e/L). Из неубывания a(t) по t следует
||х*-х0| \<e/L. (8)
Функция /(х) удовлетворяет на D(0) условию Липшица, поэтому, учитывая неравенство (8), получим /о —/(x*) ^ L||х0-х*|| < е. Тогда, в силу (7), имеем f(x)-f* < е. Теорема доказана.
Следствие 1. Если для некоторого С > 0 выполняется х(С) G D(0), то /(ж(С)) —
г <6.
Доказательство. Так как f(x(C)) - монотонно неубывающая функция от С, то /(ж(С)) ^ fp. Тогда х(С) € Q, а для такой точки требуемое неравенство выполняется. Следствие доказано.
По определению множества X*, если при некотором р > О выполняется неравенство /p-/*^e,ToQc X* и любая точка х € Q будет е-оптимальной. Однако на практике вычисление величины fp в зависимости от р не проще, чем решение задачи (1).
Теорема 3 позволяет оценить разность1 /р — /*. Точнее, с ее помощью можно указать значение параметра р, при котором достигается включение Q С X*.
Примечательно, что в теореме оценка решения не зависит от способа нахождения х G Q. Если же задачу минимизации функции f(x) на множестве D(p) решать методом внешних штрафов с помощью такой вспомогательной функции, что p(x(C),D(j>)) -► 0, то найдется такое С > 0, что ж(С) G -D(O). А по следствию
С-> оо
к теореме 3 это равносильно включению ж(С) G X*.
Теорема 4. Пусть функции /(x),V(x) - дифференцируемы, функция V(x) - выпуклая, существует функция сг~1(-), обратная к функции cr(t), и 0 < р ^ —А'. Тогда неравенство
r < La-ijp) * V(x(C))
выполняется для всех С > 0 таких, что х(С) G D(0).
Доказательство. Пусть xq - проекция точки ж(С) на множество -D(p). Аналогично доказательству теоремы 3 получим ст(||ж(С) — жо ||) ^ р. Так как существует обратная к a{t) функция, то a{t) возрастает по t. Отсюда следует ||ж(С) —жо|| ^ °г~1(р)-Тогда, учитывая, что У(жо) = 0, верно неравенство
V(x(C)) - V(x0) > V{x{C)) + \\х(С) - х0\\ - <j-l(p). (9)
Так как х(С) D(p), то ||х(С) — жо|| > 0. Разделим обе части неравенства (9) на ||ж(С)-ж0||:
V(x(C))-V(x q) (У(х(С))-а~1(р)) У(х(С))
||ж(С)-ж0|| " 1КС)-ж0|| " + a-i(p) a-i(p) ■ 1 UJ
Пусть ж = ж(С)-И(ж(С) — жо), t ^ 0. Отсюдаж(С) = щ-жо + щ;Ж. Так как функция V(x)
выпуклая, то V{x(С)) ^ ж0) + j^V(x) и XMz^Mgll ^ V(x(C)) - У(ж0). Тогда
с учетом (10) находим > т е УЫС)+ЩС)-*о))~УЩС)) > V(*(g))
с учетом ци) находим (цж(С)_;г.0|| ^ о-^р) ' t||®(c)-*o|| ^
при любых t ^ 0. Следовательно,
дУ(х(С)) = V(x(C) + t(x(C) — ж0)) — V(x(C)) > У{х(С))
д{?№гх\> «С)-жо|| " а-1(р) •
||ж(С)-я:о||
Получим ||У(ж(С))|| ^ /Ж» ^ где " градиент функции У(ж) в
точке ж(С).
Из определения ж (С) вытекает, что градиент F'(x(C),C) = f'(x(C))+CV'(x(C)) — 0 и С = Теорема доказана.
Следствие 2. Пусть а — тах{а : А(а) С 0(0)}. Тогда включение х(С) € £>(0) достигается при любом С ^ Ьа & ^ .
Доказательство. Очевидно, границы множеств А(а) и .0(0) имеют некоторую общую точку г, в которой д(г) = 0 и У(г) — а. Так как найдется индекс з € I такой, что Д(г) - 0, то при р > 0 вектор (/1(2) + р, ...,/т(л) + р) £ Ят. Из (4) следует, что 1+ р) >0. Тогда, по определению, а — > 0.
Пусть всюду далее число С > 0 такое, что У(х(С)) = а. Так как а > 0 и функция У(х(С)) непрерывна по С > 0, то число С существует и конечно. По теореме 4 при р ^ — Л' для числа С выполняется неравенство С ^ Ьа & ^. Из невозрастания функции У{х{С)) по С > 0 вытекает, что У(х(С)) ^ а для всех С ^ С. Это означает, что включение х(С) е ^4(а) С 0(0) достигается при любом С ^ ^. Следствие доказано.
На этом следствии и теореме 3 основан
Алгоритм 1. Задается точность решения е > 0. Выбираются число р € (0,ппп{<7(!;), — А'}), натуральное число N. Задаются точка начального приближения
€ Яп и возрастающая функция Н(-) такая, что /¿(1) ^ 0, ^ ^, где сг_1(-) -
функция, обратная к сг(£). Полагаем к = 1.
1. Вычисляем С к — Ь (к).
2. Выбираем метод Ак, обеспечивающий нахождение безусловного минимума функции Р(Ск,х).
3. Методом Ак отыскиваем х{Ск) — а^иг^^С*,:?;),:*: € Лп}-
4. Если х(Ск) € ^*(0), то процесс окончен и х(Ск) является е-решением задачи нахождения (1). Иначе заменяем к на к + 1 и переходим к п. 1.
Теорема 5. Условие п. 4 алгоритма 1 выполнится через конечное число к1 ^ N итераций. При этом х(Ск') € X*.
Доказательство. По следствию к теореме 4, точка ж(Слг) € т. е. условие прерывания вычислений выполнится через к' ^ N итераций. Тогда, по следствию к теореме 3, выполняется неравенство /(х(Сд;/)) — /* < е. Теорема доказана.
При выборе на подготовительном шаге алгоритма N — 1 получим /¿(-/V) = Л(1) ^ Ь(Т~- ^, что гарантирует включение х(С\) € 0(0). Это означает решение с заданной точностью исходной задачи за одну итерацию метода штрафов. Но, к сожалению, подобный выбор числа N приводит к плохой обусловленности матрицы вторых производных функции ^(х, С\) в области решения. Если при этом точка начального приближения в методе безусловной минимизации функции ^(ж,Сх) выбрана достаточно далеко от множества Х(С\), то процесс нахождения точки х(С\) €Е Х(С\) будет, по-видимому, медленно сходящимся. Поэтому целесообразно строить серию функций Р{х,Ск)- Минимизацию функции Р(х,Ск) следует начинать из точки х(Ск-\)- Так как функция х(С) непрерывна по С > 0, то при достаточно близких значениях Ск и Ск-1 можно ожидать близость точек х{Ск) и х(Ск-\)-
Величина погружения р и коэффициент штрафа С выбираются в алгоритме 1 на основе параметра Ь и функции сг(£), которые в практике можно лишь оценить. Следовательно, коэффициент С будет, очевидно, сильно завышенным, и включение х{С) € О(О) может достигаться при С < С. Из этих соображений в п. 4 алгоритма 1 критерием остановки выбрано включение х{С) е О(О), а не условие к — N.
Имеется большой произвол выбора неотрицательной возрастающей функции задающей правило изменения штрафного параметра С в зависимости от номера итерации к. Если в практике требуется установить мультипликативный закон увеличения С,
то можно положить h(k) — ßN-k, где ц > 1 - некоторый множитель. Легко заметить, что при этом = = м
Если в алгоритме 1 требуется явно задать начальный коэффициент Ci, то достаточно положить ц — (-Я-)1^. Тогда h(k) = _ cN_k и h( 1) = С\.
(ír)7^
В силу возрастания функции o{t) и выбора на подготовительном этапе алгоритма р ^ ст(|-), имеем а_1(р) ^ Jj. Отсюда
о; а а
где величина С такая, что F(x((7)) = ä. То есть условие /i(iV) ^ Lcr ^ можно заменить неравенством h(N) ^ f •
Алгоритм на основе барьерной функции. Применим принцип аппроксимации допустимого множества для построения алгоритма заданной точности в методе барьерных функций. Для этого используется выпуклая барьерная функция Ь{х), определенная следующим образом [4, с. 193].
Пусть bdD{0) - граница множества -D(O), intD(0) = D(Ö)\bdD(0). Всюду на intD(0) функция Ъ(х) конечна, непрерывна и неотрицательна, для любой бесконечной последовательности точек {x¿}, принадлежащих intD(O) и сходящихся к точке из bdD(0), предел lim b(x¿) = +оо.
i—>оо
Дополнительно к условиям а) и б) потребуем включение X* С bdD(0), где X* = {х € D{0) : /(х) ^ /*}■
Пусть В(а) — {х G Rn '■ b(x) ^ а},а' = min{a : D(p) с В(а)}. Тогда min{/(x),x е В(а')} -f*^fP- /*, где /р = min{/(х),х G D(0)}.
На этой оценке основан следующий принципиальный
Алгоритм 2. Задаются требуемая точность е > 0 нахождения (1), число р 6 (0, тт{а(^), —А'}). Выбираются последовательность {t/J^q —> 0, тк > 0, число а ^ а'. Полагается к — 0.
1. Находится хк € Argmin{F(x,Tfc),x Е Rn}, где F(x,Tk) = f(x) + ткЬ(х).
2. Если хк intB(ä), то вычисления останавливаются, и точка хк принимается в качестве £-оптимального решения задачи (1). Иначе следует перейти к п. 1 при к, замененном на А; + 1.
Теорема 6. Найдется такой номер N, что в последовательности {х&}; построенной по алгоритму 2, точка xn $ intB(a). При этом хдг £ X*.
Доказательство. Предположим от противного, что для любого к точка хк £ int В (а). Тогда, в силу замкнутости множества В (а), точка х' = lim хк £ В (а).
k—too
По теореме сходимости метода барьерных функций (см., например, [4, с. 194]) точка х' € X*, ano дополнительному условию х' £ bdD( 0).
Но В (а) погружено в D( 0), так как D( 0) содержит открытое множество {х £ Rn : g(x) < 0}, содержащее В (а). Следовательно, В (а) П bdD{ 0) = 0.
Полученное противоречие доказывает существование номера N, при котором xjy ^ int В (а).
Далее выберем точку х € Argmin{/(x),х £ -ß(ä)}. Так как а ^ а', то, в силу выпуклости барьерной функции, В (а') С В (а) и
/(х) s$min{/(x),x £ В(а')}.
По определению, точки минимума F(xn,tn) ^ F(x,tn)- Отсюда /(жлг) + т^Ь(жлг) ^ /(ж) + т^Ь(х). Для удобства преобразуем это неравенство к виду
f(xN) - /(ж) ^ TN(b(x) - b(xN)).
Так как b(x) ^ a, b(xN) ^ а, то Ь(ж) - b(xN) ^ 0 и /(ждг) ^ /(ж). Тогда /(ждг) - /* ^ /(ж) - /* < тш.{/(ж) : ж е £(«')} - /* ^ /р - /* ^ £. Теорема доказана.
В алгоритме 2 используется величина а', оценить которую можно, лишь налагая дополнительные условия на барьерную функцию. Приведем здесь оценку для наиболее распространенной в литературе функции Ь(ж) = s(— ^^ , — j^) > •••> ~f~jzj)> где s(ti,t2,..., fm) - положительная возрастающая функция по каждой переменной. Лемма 1. Верно неравенство j,..., ^ а'.
Доказательство. Выберем произвольно ж' Е А^тах{6(ж), ж 6 £>(р)}. Тогда D(p) С В(Ь(х')). Следовательно, с одной стороны, по определению а', верно неравенство Ь(ж') ^ а'. С другой стороны, ж' £ -D(p), a D(p) с В [а'). Тогда ж' е В [а') и Ь(ж') ^ а'. Поэтому существует точка ж' € D(p), в которой Ь(ж') = а'.
По определению множества D(p), неравенство /¿(ж') iC —р верно для всех i — 1 ,..,т. Отсюда и из возрастания функции s(£i, ■■■, tm) вытекает
Q'-ь(х,)=-¿г ■ »4 ?
Лемма доказана.
Таким образом, если в алгоритме 1 на подготовительном этапе выбирать величину а ^ ..., то требуемое неравенство а ^ а' будет выполняться.
Summary
Zabotin Ya. I., Fukin I. A. On the principle of the feasible set approximation for the methods of penalty and barrier functions.
This article proposes a nonlinear programming problem algorithm based on the principle of the feasible set approximation. This principle is applied here for algorithm development on the method of penalty functions.
Литература
1. Евтушенко Ю. Г. Численные методы решения задач нелинейного программирования // Журн. вычислит, математики и мат. физики. 1976. Т. 16, № 2. С. 307-324.
2. Васильев Ф. П., Ковач М. О. О регуляризации некорректных экстремальных задач с использованием штрафных и барьерных функций// Вестн. Моск. ун-та. Сер. ВМК. 1980. № 2. С. 29-35.
3. Скарин В. Д. О скорости сходимости метода барьерных функций // Методы оптимизации и распознавание образов в задачах планирования. М.: УНЦ АН СССР, 1980. С. 27-36.
4. Евтушенко Ю. Г. Методы решения экстремальных задач и их применение в системах оптимизации. М.: Наука, 1982. 432 с.
5. Жадан В. Г. Численные методы линейного и нелинейного программирования (вспомогательные функции в условной оптимизации). М.: Наука, 2002. 160 с.
6. Еремин И. И. Метод «штрафов» в выпуклом программировании // Докл. АН СССР. 1967. Т. 173, № 4. С. 748-751.
7. Жадан В. Г. О некоторых оценках коэффициента штрафа в методах точных штрафных функций // Журн. вычислит, математики и мат. физики. 1984. Т. 24, № 8. С. 1164-1171.
8. Сухарев А. Г., Тимохов А. В., Федоров В. В. Курс методов оптимизации. М.: Наука, 1986. 328 с.
9. Казаров С. А. Оценки близости решений экстремальных задач в методе штрафных функций // Изв. вузов. Математика. 1978. № 9. С. 40-48.
10. Заботин Я. И., Фукин И. А. Об одной модификации сдвига штрафов для задач нелинейного программирования // Изв. вузов. Математика. 2000. № 12. С. 49-54.
11. Заботин Я. И., Фукин И. А. Алгоритмы в методе штрафов с аппроксимацией допустимого множества // Изв. вузов. Математика. 2004. № 1. С. 36-47.
12. Васильев В. П. Численные методы решения экстремальных задач. М.: Наука, 1988. 552 с.
Статья поступила в редакцию И декабря 2005 г.