Алгоритмы внутренних точек в линейном и нелинейном программировании

УДК 519.6:519.85

В. И. ЗОРКАЛЬЦЕВ щ С. М. ПЕРЖАБИНСКИЙ "

Институт систем энергетики им. Л. А. Мелентьева СО РАН, г. Иркутск

АЛГОРИТМЫ ВНУТРЕННИХ ТОЧЕК В ЛИНЕЙНОМ И НЕЛИНЕЙНОМ ПРОГРАММИРОВАНИИ

Рассматриваются полученные авторами результаты разработки и теоретического обоснования алгоритмов внутренних точек для решения задач линейного и выпуклого программирования. Обсуждаются способы повышения вычислительной эффективности алгоритмов.

Ключевые слова: линейное программирование, выпуклое программирование, алгоритмы внутренних точек, квадратичные аппроксимации ограничений.

Введение. Методы внутренних точек — семейство алгоритмов оптимизации, осуществляющих улучшение решений внутри области, состоящей из векторов, удовлетворяющих ограничениям-неравенствам в строгой форме. В данной статье рассматривается особое подмножество алгоритмов внутренних точек, в которых поиск направления улучшения решения основывается на идее стимулирования движения вдоль границ области, допустимых по ограничениям-неравенствам решений. Это обуславливает оригинальность и эффективность таких методов, но одновременно затрудняет их теоретическое обоснование. В работах С.М. Анциза, И.И. Дикина [1], Ю.Г. Евтушенко [2], В.Г. Жадана, В.И. Зоркальцева [3] были получены результаты теоретических и экспериментальных исследований этих алгоритмов, их непрерывных аналогов. С 70-х годов прошлого столетия данные алгоритмы эффективно используются при реализации прикладных моделей. На основе экспериментальных и теоретических исследований был выявлен ряд интересных свойств алгоритмов. В частности, было показано, что данные алгоритмы в случае неединственности оптимального решения имеют тенденцию вырабатывать относительно внутреннюю точку множества оптимальных решений, имеющую минимальный набор активных ограничений по сравнению с другими оптимальными решениями. С середины 80-х годов к данным алгоритмам внутренних точек проявился повышенный интерес в мире. В результате ряда независимых исследований было установлено, что алгоритмы внутренних точек являются более эффективным способом решения задач линейного программирования, чем алгоритмы симплекс-метода. При этом на базе метода внутренних точек можно легко реализовывать алгоритмы решения многих типов задач нелинейного программирования.

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

Ьти -» тах , [/ = {цєЯт:дг(ц)>о}.

иєіі

Здесь д(ц) = с—Атц линейная вектор-функция с компонентами д(и), у=1,...,л. Векторы хе Rn, це Rm составляют переменные задач (1), (2). Векторы се Rn, Ье Rm и матрица А размера их т. заданы. Векторы хеХ, це и составляют допустимые решения задач (1), (2). Множества оптимальных решений этих задач обозначим

X

= Агдгтіп|і

сгі:іех} и =Агдтах\ьТи:иеи\

і{ьти\иєи}.

Задачу (1) будем называть невырожденной, если для любого хеХ либо не существует, либо существует только единственный вектор цеRm, при котором выполняются условия дополняющей нежесткости:

Согласно Рокафеллару [3], внутреннюю область выпуклого множества ОcRn относительно минимального линейного многообразия, содержащего эту область, будем называть относительной внутренностью и обозначать гг'О.

Задано начальное приближение х°>0. Рассматривается итеративный процесс:

хк+1=хк+11Ахк- ¿=0,1,2..

Здесь вектор Ахк задает направление корректировки решения на итерации к. Хк — положительная величина шага корректировки. Вектор Ахк является решением вспомогательной задачи

при условии где

г л 1

С Дї + -> -----------т------> тдп .

2^1 4 ДжеЯ-

ААх=гк, гк = Ь—Ахк.

X —» пип

хеХ

Х = {хєДп: Ах = Ъ, х>о},

При этом величины 1/dj следует интерпретировать как штрафные коэффициенты, сдерживающие выход на ближайшие границы области допустимых

ОМСКИЙ НАУЧНЫЙ ВЕСТНИК № 1 (117) 2013 ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ

ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ ОМСКИЙ НАУЧНЫЙ ВЕСТНИК № 1 (117) 2013

решений. Обратные к штрафным коэффициентам величины будем называть весовыми коэффициентами.

В [4] введены интервальный и аксиоматический подходы к определению коэффициентов й*. Для весовых коэффициентов должны выполняться неравенства

ст;

здесь а , а — некоторые непрерывные неубывающие функции от положительного аргумента, удовлетворяющие двум условиям:

Вторым этапом итеративного процесса является оптимизация в области допустимых решений, при которой выполняются все ограничения задачи и монотонно улучшается значение целевой функции. При этом гк =0 в (13).

В работе [5] доказана теорема для процесса оптимизации в области допустимых решений при условии невырожденности задачи (1) и разных условиях на весовые коэффициенты.

Теорема 1. Пусть задача (1) невырождена, X фХ и X Фф, х°еХ. Тогда для. изложенного алгоритма справедливы. утверждения.

1. Существуют, х е пХ , й е гШ такие, что

0<a(i)<a(i), Vi>0 ,

х, uk ->и при k^-ю.

a(i) < Mt

при некоторых є>0. М>0 для всех tє (0,є]. Правила задания dk - удовлетворяющие (8) — (10), образуют некоторое семейство алгоритмов. В частности, весовые коэффициенты можно задавать в виде функций от значений компонент вектора переменных

df=(xkf, j = l..Л,

2. Если. при. определении, весовых коэффициентов

dj выполняется условие

ст

Xі-X

то хепХ , величины ||ц*-ц|, нулю не медленней чем. линейно, и пр положительных величинах Р1, Р2, Р3, Р4, ре (0,1) для всех к

сходятся к и некоторых

где р>1. Обозначим Dk= diag(dk), где dk — вектор из Rn с компонентами йк ,/'=1,..., п.

Величина шага вычисляется по формуле

Хк=Ук ,min

j: Axj<0 AXj

AD,ATu=ik+AD,c.

k k

^=(1-^.

Поэтому, если Ікф0, то

Xk =min{1, Xk},

где 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-х\\

Опри&-»ас

Тем самым на каждой итерации определяется вектор множителей Лагранжа ограничений вспомогательной задачи, являющийся приближением к решению двойственной задачи линейного программирования.

Итеративный процесс улучшения решения задачи (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). При этом использовалось дополнительное условие на значение параметра ук

У к е

р +1

В [7] доказана теорема.

Теорема 2. Пусть Х^ф, X *Х. Тогда при. любом, начальном. приближении. х°еХ для. алгоритма (4) — (12), при р>1, и выполнении условия (18) справедливы, следующие утверждения.

1. Если. X *ф, то существуют, х е iiX, й е iiU , такие что при. к^<х

хк -» X , ик —>11 ,

2. Если X *ф, тогда либо lim сТхк = -со, либо на

к—> оо

некоторой итерации к все компоненты вектора Axk положительны.

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

crx-»min,

хеХ

X = {xeRn: х<х<х, fi

Заданы векторы 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

при линейных ограничениях-равенствах

AkAx=z.

В целевой функции задачи (22), (23) составляющая AxTBkAx представляет вторые производные в аппроксимации функций /.(х), i=1,...,m.

Обозначим uk вектор множителей Лагранжа этих ограничений. Определим вектор приближений к множителям Лагранжа нелинейных ограничений исходной задачи

vk = max {0, ик}, i = l.m.

Множество номеров i, при которых ик < 0 , обозначим I.

к

Вспомогательная задача (22), (23) сводится к решению системы линейных уравнений с симметрической положительно определенной матрицей. Возможны два варианта вычислений векторов Axk, zk, uk.

Один из них основывается на решении системы линейных уравнений с матрицей размера nxn

Найдя в результате решения системы (24) вектор Axk, определяем векторы

zk = АкАхк , ик = Нкггк .

Второй вариант вычислений основан на решении системы размера mxm

Вычислив uk, находим вектор

AXk=-

и по формуле (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), обладают сверхлинейной скоростью сходимости, если параметр Ук при к^-гс сходится к единице [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.

ЗОРКАЛЬЦЕВ Валерий Иванович, доктор технических наук, профессор (Россия), заведующий лабораторией методов математического моделирования и оптимизации в энергетике.

Адрес для переписки: zork@isem.sei.irk.ru ПЕРЖАБИНСКИЙ Сергей Михайлович, кандидат физико-математических наук, научный сотрудник лаборатории методов математического моделирования и оптимизации в энергетике.

Адрес для переписки: smper@isem.sei.irk.ru

Статья поступила в редакцию 10.10.2012 г.

© В. И. Зоркальцев, С. М. Пержабинский