Вестник СамГУ — Естественнонаучная серия. 2007. №2(52)
УДК 518.6
37
РЕШЕНИЕ ЗАДАЧ КВАЗИЛИНЕЙНОЙ АЛГЕБРЫ
© 2007 М. Андрамонов1
Предлагаются методы решения непрерывных и дискретных задач сублинейной или квазилинейной алгебры. Такие задачи важны в недифференцируемой оптимизации и имеют многочисленные инженерные и экономические приложения. Алгоритмы основаны на двойном разбиении множеств индексов и допустимых точек.
Введение
В данной статье предлагается общая схема метода для решения задач квазилинейной алгебры. Такие задачи возникают в негладком анализе (см. [1,2]), в частности, при решении задач оптимизации негладким методом Ньютона в глобальной оптимизации.
Задача квазилинейной алгебры представляет собой одну из задач дизъюнктивного программирования, которое является перспективным направлением в области численных методов оптимизации (см. [3-5]). Задача дизъюнктивного программирования является задачей с линейными ограничениями (имеются обобщения на нелинейный случай), которые связаны логическими условиями. В результате приведения к конъюнктивной нормальной форме условия представляются как совокупность дизъюнкций, каждой из которых соответствует допустимый многогранник.
Простейшим способом решения данной задачи является ее сведение к задаче целочисленного программирования. Численный опыт показывает, что подобный подход эффективен только для малой размерности.
Вследствие этого необходимо использовать специфику задачи. Метод состоит в разбиении допустимого множества, последовательной релаксации элементов разбиения, выборе наиболее перспективного из ни и отсечении заведомо неоптимальных областей.
1. Постановка задачи
Требуется решить следующую систему уравнений:
х е Х\ = (шах[аг1, х] = Ъ\},
1£<21
1 Андрамонов Михаил, НИМ Вычислительной математики и процессов управления, 198504, Россия, Старый Петергоф, Университетский Пр., 35.
х е Х2 = (шах[аг-2, х] = Ъ2}, (1)
iеQ2
х е Хт = (шах[агт, х] = Ът}, х е X.
Здесь X — выпуклое замкнутое ограниченное множество, Qj — некоторые множества из конечного числа элементов, а,]- е ]К”, х е ]К„, Ъ, е ]К. Квадратные скобки означают скалярное произведение. Данная задача называется дискретной задачей квазилинейной алгебры.
Заменяя каждое j-е ограничение на ограничение вида
х е = {тах[аму, х] = 6/},
нее,-
где <2^ — компакт мощности континуум, получаем непрерывную задачу квазилинейной алгебры.
Примечание 1. Каждое уравнение можно представить в виде двух неравенств. Неравенство, дающее выпуклое множество, в этом случае можно внести в множество X. К системе уравнений можно добавить произвольную целевую функцию для решения методами из работы [6].
2. Общая схема метода
Нам понадобятся следующие определения.
Определение 1. Множество 2 с ]КИ называется конечно разрешимым, если существует алгоритм линейного или выпуклого программирования, позволяющий найти его элемент за конечное время или установить его пустоту.
В частности, многогранные множества с рациональными коэффициентами конечно разрешимы.
Определение 2. Множество 2 с ]КИ называ,ется е-разрешимым, если существует алгоритм линейного или выпуклого программирования, позволяющий найти его элемент с точностью до е по евклидовой норме за конечное время или установить его пустоту.
Выпуклые ограниченные множества являются конечно разрешимыми, если известно минимальное содержащее их линейное подпространство, что зависит от способа задания множества. В противном случае они е-разрешимы. В частности, если внутренность непуста, то выпуклое множество конечно разрешимо.
Определение 3. Множество 2^2 называется релаксацией множества
2, если оно выпукло и конечно разрешимо.
Алгоритм ветвей и границ для решения задачи (5) состоит из пяти составляющих, каждая из которых может быть реализована многими способами в зависимости от специфики задачи.
1. Разбиение.
2. Релаксация.
3. Отсечение.
4. Выбор перспективных областей.
5. Критерий останова.
Алгоритм работает следующим образом.
Метод ветвей и границ для квазилинейной алгебры
Задается начальное разбиение
Do = {Xi ПX,X2 ПX,...,Xm ПX},
{k-я итерация:} пусть
Dk = {Xi, Xk2,...,Xk„k}.
Рассматриваются множества Y точек, удовлетворяющих ограничениям
х е V1 = { max [aii, x] = b1},
ieRicgi
x е V2 = { max [a^, x] = b2}, (2)
ieR2CQ2
x е Vm = { max [aim, x] = bm},
ieRmcQm
x е Xkm c X
для всех m. Предполагаем, что для каждого индекса i включение Ri c Qi строгое. Удобно выбирать Ri = {i}, то есть фиксировать активный индекс. Тем не менее это не единственный возможный способ. Можно делить Qi произвольно на два конечных множества индексов с количеством элементов, отличающимся не более чем на единицу. Построение множеств Xk зависит от X. Если X - параллелепипед, проще всего разбивать его вертикальными и горизонтальными плоскостями, проходящими через центр. Разбиение допустимого выпуклого множества в методах ветвей и границ — стандартная задача, см. [3].
Вычисляются релаксации множеств Y для каждого Y и отбрасываются пустые релаксации. Вычисляются точки из Y - элементы релаксаций. Если хотя бы один элемент релаксации является решением исходной задачи, ОСТАНОВ. Выбирается наиболее перспективное в некотором смысле множество Xk е Dk и разбивается как X^. = Xkri U Xk2 U ... U Xkrs,Xk Ф for all
i, Xk Ф Xr for all i, j, i Ф j. Множества Xk включаются в Dk, а Xjr удаляется из него. Здесь s ^ 2 - количество новых элементов разбиения.
Для вычисления релаксаций можно использовать теорему Балаша. Теорема 1 (4). (Балаш, 1979). Ограничение ax ^ в является суррогатом, системы
VisD (Aix ^ b1) x ^ 0
тогда и только тогда, когда существуют ^ 0, i е D* такие, что
а ^ У А1 i е D*, в ^ Ч‘Ъ‘ i е D*,
где А1 —матрица размерности т X п, —вектор 1 X mi, Ъ е ]Кт, и D* —под-
множество индексов i е D, для которого соответствующие ограничения с индексами i допустимы.
Любые релаксации можно строить адаптивно, добавляя функции под максимум и добиваясь более сильного отсечения.
Проще вычислять выпуклую оболочку множеств ¥1 по формулам Ириа— Уррути и Лемарешаля [7,8]. Они имеют следующий вид для множества вида:
VjеJgj(х) ^ 0,
определенного дизъюнкциями:
х =2 uj,
= 1, 0 ^ Х] ^ 1, j е J,
Х (и] А]) < 0, j е J.
Здесь gj — произвольные выпуклые функции, что позволяет решать задачу
(5) с выпуклыми функциями вместо линейных. Для линейных gj можно сократить на Хз, и, следовательно, получаем конечно разрешимое множество.
Отсечение тривиально. Если релаксация данного множества пуста, то оно отбрасывается, поскольку не содержит решения. При этом следует проверять непустоту для каждой релаксации элементов Dk. Построение эффективного критерия останова также не вызывает трудностей. Пусть все множества в Dk конечно разрешимы. Тогда, проверив непустоту каждого из них, либо вычислим решение задачи (5), либо обнаружим пустоту допустимого множества. Если некоторое множество выпукло, оно совпадает с релаксацией.
Предложение 1. Предположим, что на некоторой итерации все множества вида (2) совпадают со своими релаксациями. Пусть также любое текущее множество индексов Ri разбивается на подмножества, не совпадающие с Ri ив объединении дающие Ri. Тогда за конечное время будет найдено решение исходной задачи, если оно существует, или окажется, что допустимое множество пусто.
Доказательство. Поскольку элементы разбиения совпадают с релаксациями, после полного перебора получим решение задачи, если оно существует. По построению решение не может быть исключено, т.к. отбрасываются только пустые релаксации в силу выбора множеств Ri. Нахождение решения за конечное время следует из конечной разрешимости релаксаций.
Пустота множества будет обнаружена за конечное время ввиду наличия всех элементов дизъюнкций. Теорема доказана.
Для совпадения множеств с релаксациями на некоторой итерации достаточно, чтобы множества Xik были выпуклыми многогранниками. Действительно, тогда множества в (2) выпуклы и конечно разрешимы, начиная с некоторой итерации, поскольку множества Ri будут состоять из одного элемента.
Фиксируя последовательно разные индексы для построения Ri так, чтобы на наиболее низком уровне образующегося дерева оставались всевозможные комбинации индексов, получим, что условия данного предложения выполняются.
Если множество Qi выпукло и имеет мощность континуум (непрерывный случай), суть метода не меняется. В таком случае Qi разбивается на два множества с тем, чтобы их меры стремились к нулю при последовательном разбиении. Аппроксимируя элементы разбиения описанными многогранниками, получаем на некотором этапе совокупность е-разрешимых множеств и приближенное решение исходной задачи.
Наиболее сложной частью является выбор перспективных областей для разбиения. Сходимость алгоритма за конечное число шагов от нее не зависит, но число итераций для нахождения решения задачи может быть очень большим при неудачном выборе. Эффективность способа выбора множества Y должна быть подтверждена многочисленными экспериментами. Предлагаются два метода оценки перспективности элемента разбиения.
1. По максимальной невязке ограничений в релаксации; следует выбирать релаксацию с наибольшей по модулю разностью между правой и левой частями. Для произвольного многогранника
P = {x е IRn : [ci, x] ^ d, i е I}
максимальная невязка ф вычисляется следующим образом:
ф = maxd - [ci, x].
i€l
В дальнейшем выбирается релаксация с наибольшей максимальной невязкой.
2. По мере релаксации; следует оценить меру с помощью приближенного
вычисления интегралов и выбрать релаксацию наибольшей меры. Оценка перспективности релаксации Vi тогда равна dx.
Сравнение метода ветвей и границ с модификациями алгоритма из [5] может быть проведено с помощью большого числа экспериментов.
Данный метод дизъюнктивного программирования может применяться для приближенного вычисления квазидифференциалов (см. [1,2,9]).
Будем искать аппроксимацию квазидифференциала некоторой функции f в точке x в виде [V;W], где
V = СО {Vi, V2,...,Vm},
Ж = со (w1, ^2,..., wr}
являются выпуклыми многогранниками. Пусть у нас есть конечное множество направлений si, i е I, где I —конечное множество индексов.
Тогда задача оптимальной аппроксимации квазидифференциала по заданным направлениям имеет следующий вид:
тттах |/(х, si) - тт[5ь V] - тах[5ь w]|. (3)
У,Ж iеI vеV wеW
Здесь /(х, 5^ — производная функции / в точке х по направлению si. Очевидно, минимум и максимум линейных функций на V и Ж достигаются в вершинах. Поэтому достаточно применить дихотомию по значению целевой функции и записать совокупность условий вида:
|/(х, si) - тт[5, vk] - тах[5, Wj]| ^ (4)
к 3
где ? —меняющийся параметр. Задача (4) сводится тривиальным образом к общей задаче дизъюнктивного программирования. Ограничения-неравенства сводятся к равенствам введением дополнительной переменной, условие ее неотрицательности можно считать одним из ограничений Х.
Остановимся подробнее на задаче непрерывной квазилинейной алгебры. Пусть она решается на допустимом множестве X, которое можно под-разбивать на все более измельчающиеся выпуклые множества, например п-мерные кубы.
х е Х]- = {тах[аму, х] = 6у}, у е J,
меб/
х е X.
Пусть множества выпуклы, ограничены и телесны. Тогда существует алгоритм их разбиения, причем диаметры элементов разбиения стремятся к нулю, а их обединение равно исходному множеству.
Тогда имеем алгоритм двойного ветвления. Во-первых, производится разбиение допустимого множества, во-вторых, разбиение множеств определяющих функции максимума.
В результате получается дерево, в котором каждому узлу соответствуют некоторое подмножество X И некоторые подмножества Оу Предположим, что все данные подмножества, если они непусты (пустые отбрасываются), выпуклы, и их диаметры стремятся к нулю при подразбиении. Замечание 1. При небольшой размерности пространства проще использовать аппроксимации множеств многогранниками, переходя к последовательности дискретных квазилинейных задач. С ростом размерности, однако, число вершин таких многогранников быстро растет, ввиду чего предпочтительнее двойное ветвление.
Рассмотрим текущий узел дерева. Ему соответствует система уравнений и неравенств следующего вида:
х е Х1 = (тах[аи1, х] = Ъ1},
1 iеU\
x є X2 = {max[au2, x] = b2], (Б)
2 ieU2
x є XPm = {max[aum, x] = bm ],
i£Um
x є Xp.
Здесь р — уровень узла дерева, и] — элементы подразбиения.
Если множество Х разбивается на многогранники с небольшим количеством вершин, получаем удобный критерий отсечения. Если какая-либо функции в уравнении строго положительна (проверяется вогнутой минимизацией, достаточен перебор вершин) или отрицательна (проверяется методами выпуклого программирования), то весь узел дерева отбрасывается, поскольку нет решений, соответствующих данным подмножествам.
Поскольку для довольно больших уровней дерева диаметры подмножеств узла уменьшаются и близки к нулю, поэтому достаточно проверять значения функций максимума в одной точке. Лучше применить в окрестности решения алгоритм недифференцируемой оптимизации, поскольку такие алгоритмы эффективны для кусочно-линейных функций в непосредственной близости решения.
Если множества Ui, по которым вычисляется максимум, выпуклые и задаются гладкими функциями, то можно применить условия Куна—Такке-ра. В результате получается система задач дополнительности, причем ввиду подразбиения Х ее можно решать стандартными алгоритмами, широко распространенными в настоящее время.
Целесообразно разбивать X и Ui на объединения измельчающихся симплексов. При этом можно переходить к обобщенным сферическим координатам для удобства.
Обозначим
симплекс в кп.
Если
Б = 51 и 5 2 и ...и
S = co n=1vi, vi є IRn Vi
где Si = co{v‘i,v12,...,Vn} и Vj е IR+ для всех i = 1,m и всех j = 1,n, будем говорить, что P = {S1, S 2,...,Sm} есть разбиение S. Если также Si П Sj = 0 при i Ф j, будем говорить, что P есть правильное разбиение S. Тогда, если мы имеем
S1 = S11 U S12 U ...U S 1m,
S 2 = S 21 U S 22 U ...U S 2m,
Sm = Sm1 U Sm2 U ... U Smm,
будем говорить, что разбиение {Sц,S 12,...,Smm} есть подразбиение P.
Можно рассматривать различные разбиения для сходимости. Простейшим и хорошо известным является разбиение по середине отрезка. Пусть
V = со (V!, V2,...,Vn}
есть симплекс с вершинами V,-. Положим
||^ - V*У = тах |IV;- - Vj||. ч
Тогда разбиение следующее:
V = V1 и V2,
где
Vl = со (V1, V2,..., Vk-l, V + Vs)/2, Vk+l,..., Vn),
V2 = со V, V2 ,...^5-1, V + Vs)/2, ^+1,..., Vn).
Тогда разбиение в алгоритме проводится согласно вышеуказанным правилам, причем множества изначально приводятся к виду объединения симплексов. Если данное представление неудобно, можно использовать и другие виды разбиений.
Следует отметить, что рассматриваемая нами задача важна в негладком анализе и приложениях. Такие задачи возникают при минимизации негладких функций (см. [1,2]). Функции максимума весьма часто встречаются в математической экономике.
3. Заключение
В данной работе предлагаются схемы решения важной задачи — системы уравнений сублинейной алгебры. Такие проблемы возникают в негладком анализе, в различных технических приложениях. Построенные алгоритмы позволяют находить глобальные и локальные оптимумы сложных недифференцируемых функций, решать задачи, возникающие в динамических системах. Особенно большое применение алгоритмы могут найти в моделях с кусочно-дифференцируемыми, в частности квазидифференциру-емыми функциями [1,7].
Автор благодарит В.Ф. Демьянова за поддержку данного исследования.
Литература
[1] Демьянов, В.Ф. Теорема о неподвижной точке в негладком анализе и ее применение / В.Ф. Демьянов. - СПб.: Изд-во СПБГУ, 1996. - 136 с.
[2] Гороховик, В.В. Полиэдральная квазидифференцируемость вещественнозначных функций / В.В. Гороховик, О.И. Зорько // Докл. АН Беларуси. - 1992. - Т.36. - №5. - С. 393-397.
[3] Еремин, И.И. Сигма-кусочные функции и задачи дизъюнктивного программирования / И.И. Еремин // Доклады РАН, 1998. - Т. 358. - 5. -С. 538-540.
[4] Balas, E. Disjunctive programming / E. Balas // Annals of Discrete Mathematics. - 1979. - No. 5. - P. 3-51.
[5] Balas, E. Sequential convexification in reverse convex and disjunctive programming / E. Balas, J. Tama, J. Tind // Mathematical Programming. -
1989. - V.44. - No.3. - P. 337-350.
[6] Beaumont, F. Algorithm for disjunctive programming problems / F. Beaumont // European Journal of Operational Research. - 1990.
[7] Demyanov, V.F. Constructive Non-smooth Analysis / V.F. Demyanov,
A.M. Rubinov. - Frankfurt: Peter Lang, 1995.
[8] Grossmann, I. A review of mixed-integer nonlinear programmming / I. Grossmann, S. Lee // Computers and Chemical Engineering. - 2000.
[9] Horst, R. Handbook on Global Optimization / R. Horst, P. Pardalos
(eds). - Dordrecht. Kluwer Academic Publishers, 1996.
Поступила в редакцию 22/VIII/2006; в окончательном варианте — 22/ VIII/2006.
PROBLEMS OF QUASI-LINEAR ALGEBRA
© 2007 M. Andramonov2
In the paper problems of quasi-linear algebra are considered. Linear programming problems with logical conditions are resolved. Double branching is used in order to find exact or approximate solutions of such problems. The results can be applied to complicated problems of quasi-differential and co-differential analysis.
Paper received 22/VIII/2006. Paper accepted 22/VIII/2006.
2Andramonov Mikhail, Scientific Center of Applied Mathematics and Control Processes, Staryi Petergof, 198504, Russia.