Научная статья на тему 'Алгоритмы внутренних точек в линейном и нелинейном программировании'

Алгоритмы внутренних точек в линейном и нелинейном программировании Текст научной статьи по специальности «Математика»

CC BY
1063
159
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ / ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ / АЛГОРИТМЫ ВНУТРЕННИХ ТОЧЕК / КВАДРАТИЧНЫЕ АППРОКСИМАЦИИ ОГРАНИЧЕНИЙ / INTERIOR POINT ALGORITHMS / QUADRATIC APPROXIMATIONS OF CONSTRAINTS / LINEAR PROGRAMMING / CONVEX PROGRAMMING

Аннотация научной статьи по математике, автор научной работы — Зоркальцев Валерий Иванович, Пержабинский Сергей Михайлович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Interior point algorithms for linear and nonlinear programming

Obtained by the authors results of design and theoretical justification of the interior points algorithms for linear and convex programming problems are considered. The ways of improving of computational efficiency of the interior point algorithms are discussed.

Текст научной работы на тему «Алгоритмы внутренних точек в линейном и нелинейном программировании»

УДК 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). При этом использовалось дополнительное условие на значение параметра ук

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

У к е (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 г.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.