УДК 519.6:519.85
В. И. ЗОРКАЛЬЦЕВ щ С. М. ПЕРЖАБИНСКИЙ "
Институт систем энергетики им. Л. А. Мелентьева СО РАН, г. Иркутск
АЛГОРИТМЫ ВНУТРЕННИХ ТОЧЕК В ЛИНЕЙНОМ И НЕЛИНЕЙНОМ ПРОГРАММИРОВАНИИ
Рассматриваются полученные авторами результаты разработки и теоретического обоснования алгоритмов внутренних точек для решения задач линейного и выпуклого программирования. Обсуждаются способы повышения вычислительной эффективности алгоритмов.
Ключевые слова: линейное программирование, выпуклое программирование, алгоритмы внутренних точек, квадратичные аппроксимации ограничений.
Введение. Методы внутренних точек — семейство алгоритмов оптимизации, осуществляющих улучшение решений внутри области, состоящей из векторов, удовлетворяющих ограничениям-неравенствам в строгой форме. В данной статье рассматривается особое подмножество алгоритмов внутренних точек, в которых поиск направления улучшения решения основывается на идее стимулирования движения вдоль границ области, допустимых по ограничениям-неравенствам решений. Это обуславливает оригинальность и эффективность таких методов, но одновременно затрудняет их теоретическое обоснование. В работах С.М. Анциза, И.И. Дикина [1], Ю.Г. Евтушенко [2], В.Г. Жадана, В.И. Зоркальцева [3] были получены результаты теоретических и экспериментальных исследований этих алгоритмов, их непрерывных аналогов. С 70-х годов прошлого столетия данные алгоритмы эффективно используются при реализации прикладных моделей. На основе экспериментальных и теоретических исследований был выявлен ряд интересных свойств алгоритмов. В частности, было показано, что данные алгоритмы в случае неединственности оптимального решения имеют тенденцию вырабатывать относительно внутреннюю точку множества оптимальных решений, имеющую минимальный набор активных ограничений по сравнению с другими оптимальными решениями. С середины 80-х годов к данным алгоритмам внутренних точек проявился повышенный интерес в мире. В результате ряда независимых исследований было установлено, что алгоритмы внутренних точек являются более эффективным способом решения задач линейного программирования, чем алгоритмы симплекс-метода. При этом на базе метода внутренних точек можно легко реализовывать алгоритмы решения многих типов задач нелинейного программирования.
Семейство алгоритмов внутренних точек для решения задач линейного программирования. Рассмотрим взаимно-двойственные задачи линейного программирования
Ьти -» тах , [/ = {цєЯт:дг(ц)>о}.
иєіі
(2)
Здесь д(ц) = с—Атц линейная вектор-функция с компонентами д(и), у=1,...,л. Векторы хе Rn, це Rm составляют переменные задач (1), (2). Векторы се Rn, Ье Rm и матрица А размера их т. заданы. Векторы хеХ, це и составляют допустимые решения задач (1), (2). Множества оптимальных решений этих задач обозначим
X
= Агдгтіп|і
сгі:іех} и =Агдтах\ьТи:иеи\
і{ьти\иєи}.
Задачу (1) будем называть невырожденной, если для любого хеХ либо не существует, либо существует только единственный вектор цеRm, при котором выполняются условия дополняющей нежесткости:
(3)
Согласно Рокафеллару [3], внутреннюю область выпуклого множества ОcRn относительно минимального линейного многообразия, содержащего эту область, будем называть относительной внутренностью и обозначать гг'О.
Задано начальное приближение х°>0. Рассматривается итеративный процесс:
хк+1=хк+11Ахк- ¿=0,1,2..
(4)
Здесь вектор Ахк задает направление корректировки решения на итерации к. Хк — положительная величина шага корректировки. Вектор Ахк является решением вспомогательной задачи
при условии где
г л 1 (Ах )
С Дї + -> -----------т------> тдп .
2^1 4 ДжеЯ-
ААх=гк, гк = Ь—Ахк.
(5)
(6) (7)
X —» пип
хеХ
Х = {хєДп: Ах = Ъ, х>о},
При этом величины 1/dj следует интерпретировать как штрафные коэффициенты, сдерживающие выход на ближайшие границы области допустимых
ОМСКИЙ НАУЧНЫЙ ВЕСТНИК № 1 (117) 2013 ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ
ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ ОМСКИЙ НАУЧНЫЙ ВЕСТНИК № 1 (117) 2013
решений. Обратные к штрафным коэффициентам величины будем называть весовыми коэффициентами.
В [4] введены интервальный и аксиоматический подходы к определению коэффициентов й*. Для весовых коэффициентов должны выполняться неравенства
ст;(х*)<сг*<а;(х*), 7 = 1 (8)
здесь а , а — некоторые непрерывные неубывающие функции от положительного аргумента, удовлетворяющие двум условиям:
Вторым этапом итеративного процесса является оптимизация в области допустимых решений, при которой выполняются все ограничения задачи и монотонно улучшается значение целевой функции. При этом гк =0 в (13).
В работе [5] доказана теорема для процесса оптимизации в области допустимых решений при условии невырожденности задачи (1) и разных условиях на весовые коэффициенты.
Теорема 1. Пусть задача (1) невырождена, X фХ и X Фф, х°еХ. Тогда для. изложенного алгоритма справедливы. утверждения.
1. Существуют, х е пХ , й е гШ такие, что
0<a(i)<a(i), Vi>0 ,
(9)
► х, uk ->и при k^-ю.
a(i) < Mt
(10)
при некоторых є>0. М>0 для всех tє (0,є]. Правила задания dk - удовлетворяющие (8) — (10), образуют некоторое семейство алгоритмов. В частности, весовые коэффициенты можно задавать в виде функций от значений компонент вектора переменных
df=(xkf, j = l..Л,
(11)
2. Если. при. определении, весовых коэффициентов
dj выполняется условие
ст(а)/о(Р) = 0(a/ß)
(15)
Xі-X
то хепХ , величины ||ц*-ц|, нулю не медленней чем. линейно, и пр положительных величинах Р1, Р2, Р3, Р4, ре (0,1) для всех к
сходятся к и некоторых
где р>1. Обозначим Dk= diag(dk), где dk — вектор из Rn с компонентами йк ,/'=1,..., п.
Величина шага вычисляется по формуле
Хк=Ук ,min
j: Axj<0 AXj
(12)
AD,ATu=ik+AD,c.
k k
(13)
^=(1-^.
Поэтому, если Ікф0, то
Xk =min{1, Xk},
(14)
где Xk в правой части соотношения (14) определяется по правилу (12).
где
при уке (0,1). Далее будем считать, что значения этого параметра не убывают по итерациям, ук<ук+1 для всех к. Допустимо, в частности, параметр ук задавать сходящимся к единице, что может использоваться для ускорения вычислительного процесса.
Используя для решения задачи (5), (6) метод множителей Лагранжа, получаем
Лхк=^д(цк),
где вектор цк является решением системы линейных уравнений
\\ик-и\\<PiLk, Lk<P2Tk,
Тк<\\хк-х\\<Р3Тк, Г*<р4(р)\
Lk = max df, Тк= max xf .
j:gj(u)*0 r-gj[u)*0 1
3. Если при определении весовых коэффициентов
dj выполняется условие
су(а)/ст(Р) = о(а/р),
к — / к — \\и -и /X-х\\
► Опри&-»ас
(16)
(17)
Тем самым на каждой итерации определяется вектор множителей Лагранжа ограничений вспомогательной задачи, являющийся приближением к решению двойственной задачи линейного программирования.
Итеративный процесс улучшения решения задачи (1) состоит из двух этапов. Первый этап — ввод в область допустимых решений, при котором монотонно уменьшаются по итерациям абсолютные значения невязок ограничений-равенств. Из (4), (6), (7) следует, что
и при некотором P5>0 для всех k
Tk+q+1 ^p5Tkmax{(1-Гz):^e{k,...,k+q}},
где q —число номеров j таких, что gj{ü) Ф О.
Выполнение соотношения (17) означает, что векторы двойственных переменных сходятся быстрее к оптимальному решению двойственной задачи, чем векторы переменных исходной задачи к ее оптимальному решению.
Отметим, что для весовых коэффициентов (11) при р=1 выполняется условие (15), а при р>1 — более сильное условие (16). Случай р = 2 соответствует прямому алгоритму, известному за рубежом, как affine scaling method. Если в вычислительном процессе использовать весовые коэффициенты dk =(х*)2 и
вычислять шаг по формуле Хк = ({д(ик))ТD?g(uk)Y2 ,
то получим алгоритм внутренних точек Дикина. Для такого алгоритма им было доказано, что вырабатываемые векторы xk сходятся линейно к точке из riX ,
если X Фф [6].
Теоретическое обоснование алгоритмов без предположения невырожденности задачи является принципиально важным для теории и практики.
то
В [7] было получено обоснование без условия невырожденности задачи (1) для изложенных выше алгоритмов с весовыми коэффициентами (11) для всех ре(1,3). При этом использовалось дополнительное условие на значение параметра ук
У к е (0, ———), * = 0,1,2,... (18)
р +1
В [7] доказана теорема.
Теорема 2. Пусть Х^ф, X *Х. Тогда при. любом, начальном. приближении. х°еХ для. алгоритма (4) — (12), при р>1, и выполнении условия (18) справедливы, следующие утверждения.
1. Если. X *ф, то существуют, х е iiX, й е iiU , такие что при. к^<х
хк -» X , ик —>11 ,
||хА+1-х||/||х*-х||->(1-у) ||и*-й||/||х*-х||-)-0 .
2. Если X *ф, тогда либо lim сТхк = -со, либо на
к—> оо
некоторой итерации к все компоненты вектора Axk положительны.
Семейство алгоритмов внутренних точек для решения задач выпуклого программирования. Рассмотрим следующую задачу выпуклого программирования
crx-»min, (20)
хеХ
X = {xeRn: х<х<х, fi(x)<0, ¡=1.......яг}. (21)
Заданы векторы c, x , X из Rn (причем x < x ) и выпуклые, дважды дифференцируемые функции f.(x), i=0,...,m. Подмножество векторов из X, удовлетворяющих ограничениям-неравенствам в строгой форме, обозначим
intX = {xeJ?n: JJ(x) < 0, i = 1,..., т, х < х < х }.
Задачу (20), (21) назовем невырожденной, если для любого хеХ либо не существует, либо существует единственный набор векторов ueRm, aeRn, ßeRn, для которых выполняются соотношения
т
с + ^,щУ^(х) + а - р = 0 ,
¡=1
ц^(х) = 0 , i = 1,
Р7(х,-х;.) = 0 , a.j{Xj-Xj) = 0, J=1.л.
Будем считать, что int Хщ и задан вектор x0 из int X. В рассматриваемом вычислительном процессе [8] последовательность векторов xk из int X вырабатывается по правилу xk+1 = xk + XkAxk. Здесь к=0,1,2,..., — номер итерации, Axk — вектор спуска, Хк — шаг корректировки.
Основной проблемой в излагаемом вычислительном процессе является определение направления Axk. Для ее решения сначала в точке xk находится матрица At размера mxn, строками которой являются градиенты функций f.(x), i=1,...,m. Затем вычисляет-
ся взвешенная сумма матриц вторых производных функций /.(х), i=1,...,m,
т
вк =V2/0(xVE*f_1V2iHx*), i=i
где у*-1 — приближения на итерации k—1 к множителям Лагранжа нелинейных ограничений задачи (5), (6), V? =1, i=1,...,m.
После этого определяем векторы весовых коэффициентов dkeRn, hkeRm. Их компоненты должны удовлетворять неравенствам (8) — (10). В частности, можно воспользоваться правилом
df = (yf )2, if = (tf , j = 1.л , г' ='1.т,
где yf =min\xj-xk,xj-Xj], ^=%(хк), i'=1,...,m, j=1,...,n. Обозначим Dk = diag(dk), Hk = diag(hk) диагональные матрицы размера nxn и mxm с компонентами векторов dk и hk на главной диагонали.
Вектор Ахк определим как результат решения вспомогательной задачи минимизации квадратичной выпуклой функции от векторов AxeRn и zeRm
сТ Ах + ^АхТ ВкАх + ^АхТ D^Ax + ^zT Hkxz -> min (22)
при линейных ограничениях-равенствах
AkAx=z. (23)
В целевой функции задачи (22), (23) составляющая AxTBkAx представляет вторые производные в аппроксимации функций /.(х), i=1,...,m.
Обозначим uk вектор множителей Лагранжа этих ограничений. Определим вектор приближений к множителям Лагранжа нелинейных ограничений исходной задачи
vk = max {0, ик}, i = l.m.
Множество номеров i, при которых ик < 0 , обозначим I.
к
Вспомогательная задача (22), (23) сводится к решению системы линейных уравнений с симметрической положительно определенной матрицей. Возможны два варианта вычислений векторов Axk, zk, uk.
Один из них основывается на решении системы линейных уравнений с матрицей размера nxn
(вк + Dl1 + AlH^Ai,= -с . (24)
Найдя в результате решения системы (24) вектор Axk, определяем векторы
zk = АкАхк , ик = Нкггк .
Второй вариант вычислений основан на решении системы размера mxm
(Ak(Bk+DkYAl +Нк)и = -Ак(Вк +Dkl)~lc . (25)
Вычислив uk, находим вектор
AXk=-(Bk+DkiT\Ä[uk+c)
и по формуле (23) — вектор zk. Система (25) — результат решения задачи (22), (23) методом неопределенных множителей Лагранжа.
ОМСКИЙ НАУЧНЫЙ ВЕСТНИК № 1 (117) 2013 ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ
ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ ОМСКИЙ НАУЧНЫЙ ВЕСТНИК № 1 (117) 2013
Второй из двух вариантов вычислений предпочтительней в том случае, когда т<п и нахождение обратной матрицы (В^+1)^1)_1не трудоемко (например, если функции /.(х), г'=1,...,т, сепарабельные).
Приближения на итерации к к множителям Лагранжа ограничений х<х , х<х вычисляются по правилу
а* =тах{0,-д*}, Р* = тах{0,д*}, 7 = 1...л,
где д* = -(Вк+Ок1)Ах .
Шаг корректировки вычисляется следующим образом:
1) Х* =утах{Я:х* +ААх* еХД>0}, уе (0,1);
2) если 1кФ ф, то Хк =тах{Х: %(хк +ЯАх*)</|(.х*), I е1к, 0<Х<А,*};
3) если 1к = ф, то .
Выделим два линейных многообразия, соответствующих вектору х такому, что х < х < х . Линейное многообразие L1(х) состоит из векторов AхеRn, zеRm , удовлетворяющих условиям
A(х)Aх—z=0, сТ Ах=—1.
Здесь А(х) — матрица размера тхп, строками которой являются градиенты функций /(х), г'=1,...,т.
Линейное многообразие L2(х) состоит из векторов qеRn, uеRm, удовлетворяющих условию
(А(х))Т и=с.
Пусть L — линейное многообразие в Rn. Вектор sеL назовем опорным вектором многообразия L, если не существует вектора yеL такого, что J(y)c J(s), J(y)^J(s), где J(y)={j'■ у]*0) — множество номеров ненулевых компонент вектора у.
С изменением вектора х могут меняться значения опорных векторов линейных многообразий L1(х), L2(х). Предположим, что объединения по всем х, удовлетворяющим х<х<х, множеств опорных векторов многообразий L1(х), L2(х) являются ограниченными множествами.
Теорема 3. Пусть
а) задача (20), (21) невырождена;
б) функции /.(х), г'=1,...,т, сепарабельные;
в) объединения по всем х, удовлетворяющим, условию х<х<х, множеств опорных векторов линейных многообразий L1(х), L2(х) ограничены;
г) существует. т>0 такое, что X к> т, к=1, 2,. .
Тогда существуют, векторы, х еХ, Не Ят, йей",
¡3 е Яп такие, что
хк -» х , ик -> й , ак -> а, р* -> ¡3 при к^<х.
Вектор х является, оптимальным, решением., а векторы, и, а, р —множителями Лагранжа ограничений задачи (20), (21).
Заключение. Условия (8) позволяют использовать правила вычисления весовых коэффициентов, при которых эти коэффициенты не выражаются в виде функций от значений компонент вектора переменных. При этом не обязательно иметь конкретные выражения для функций ст , о. Достаточно иметь доказательство существования таких функций и выполнения указанных их свойств. В частности, эффективны следующие правила выбора весовых коэффициентов при к>1
-----^-п-, j =1.......п, (19)
шах{е, д] }
где е — малая положительная величина. Алгоритмы внутренних точек, в которых выбор весовых коэффициентов осуществляется по правилу (19), обладают сверхлинейной скоростью сходимости, если параметр Ук при к^-гс сходится к единице [2].
Отметим, что для теоретического обоснования алгоритмов внутренних точек с весовыми коэффициентами, удовлетворяющими условиям (8) — (10), имеющиеся стандартные техники доказательства не годятся. Это связано с тем, что при поиске направления улучшения решения используются изменяющиеся по итерациям нормы. В [5] была предложена особая техника обоснования, основывающаяся на свойствах проекции начала координат на линейное многообразие. В частности, доказательство теоремы 3 является некоторым переложением данной техники доказательства сходимости на случай выпуклого программирования.
Библиографический список
1. Дикин, И. И. Итеративное решение задач линейного и квадратичного программирования / И. И. Дикин // Доклады АН СССР. - 1967. - Т. 174. - С. 747-748.
2. Евтушенко, Ю. Г. Численные методы решения некоторых задач исследования операций / Ю. Г. Евтушенко, В. Г. Жадан // Журн. вычислительной математики и математической физики. - 1973. - Т. 13. - № 3. - С. 583-597.
3. Рокафеллар Р. Выпуклый анализ / Р. Рокафеллар. - М. : Мир, 1973. - 469 с.
4. Зоркальцев, В. И. Относительно внутренняя точка оптимальных решений / В. И. Зоркальцев. - Сыктывкар : Коми фил. АН СССР, 1984. - 48 с.
5. Зоркальцев, В. И. Об одном классе алгоритмов внутренних точек / В. И. Зоркальцев // Журн. вычислительной математики и математической физики. - 2009. - Т. 49. - № 12. -С. 2114-2130.
6. Дикин, И. И. О сходимости одного итерационного процесса / И. И. Дикин // Управляемые системы : сб. науч. тр. -Новосибирск : ИМ СО АН СССР, 1974. - Вып. 12. - С. 54-60.
7. Зоркальцев, В. И. Обоснование семейства проективных алгоритмов / В. И. Зоркальцев. - Иркутск : ИСЭМ СО РАН, 1995. - 95 с.
8. Пержабинский, С. М. Алгоритм внутренних точек, использующий квадратичные аппроксимации / С. М. Пержабинский // Современные технологии. Системный анализ. Моделирование / Иркутск: ИрГУПС. - 2008. - № 3(19). -С. 97-101.
ЗОРКАЛЬЦЕВ Валерий Иванович, доктор технических наук, профессор (Россия), заведующий лабораторией методов математического моделирования и оптимизации в энергетике.
Адрес для переписки: [email protected] ПЕРЖАБИНСКИЙ Сергей Михайлович, кандидат физико-математических наук, научный сотрудник лаборатории методов математического моделирования и оптимизации в энергетике.
Адрес для переписки: [email protected]
Статья поступила в редакцию 10.10.2012 г.
© В. И. Зоркальцев, С. М. Пержабинский