Информационные технологии Вестник Нижегородского университета им. Н.И. Лобачевского, 2011, № 4 (1), с. 200-205
УДК 519.852
ПРОВЕРКА СОВМЕСТНОСТИ ДВУХ ПОДКЛАССОВ СИСТЕМ ЛИНЕЙНЫХ ДВУСТОРОННИХ НЕРАВЕНСТВ ТРАНСПОРТНОГО ТИПА
© 2011 г. Е.А. Куликова
Нижегородский госуниверситет им. Н.И. Лобачевского
Поступила вредалцию 31.05.2011
Рассматриваются два подкласса систем линейных двусторонних неравенств транспортного типа, допускающих сведение к задачам распределения ресурсов или к задачам поиска допустимой циркуляции в транспортных сетях. Подобное сведение позволяет решать системы неравенств из выделенных подклассов с вычислительной сложностью 0((п+т)3), где п - количество неизвестных, а т - количество неравенств в системе.
Ключевые слова: системы линейных двусторонних неравенств, проверка совместности.
Введение
Рассматривается задача поиска допустимого решения системы линейных двусторонних алгебраических неравенств транспортного типа. Подобные системы имеют множество применений в задачах планирования и оптимизации производства, транспортных и других экономических проблемах. Необходимость решать системы линейных неравенств может появиться также при решении многокритериальных задач, например, в многокритериальной задаче объёмно-календарного планирования.
Для проверки на совместность произвольных систем линейных неравенств могут быть использованы классические результаты линейной алгебры, такие как теорема Александрова -Фань-Цзы или теорема Черникова [1]. При решении систем неравенств путём сведения их к задаче линейного программирования используется, к примеру, метод Кармаркара [2] с вычислительной сложностью О(п’5Г), где L - длина битового входа задачи, или его модификации [3] из класса алгоритмов внутренних точек с оценкой вычислительной сложности О(пГ). Перспективными методами внутренних точек являются алгоритмы центрального пути, разработанные Зоркальцевым и Филатовым [4]. В работах Голикова и Евтушенко представлены алгоритмы решения систем линейных равенств и неравенств на основе теорем об альтернативах
[5], а для разреженных систем целесообразно применять различные методы декомпозиции [6].
В данной работе выделены два класса систем линейных неравенств, для которых могут быть построены эквивалентные им задачи распределения ресурсов в иерархических структурах или
задачи о допустимой циркуляции в транспортной сети, что позволяет уменьшить оценку вычислительной сложности решения систем неравенств из этих подклассов.
Постановка задачи и основные определения
Рассмотрим систему линейных двусторонних неравенств транспортного типа с п неизвестными и т ограничениями:
Ь < Ах < с, (1)
х. ^ 0, . = 1, п , (2)
Ь е Rm, С е Ят, А = ||а.|| , а.. е {0,1},
II .\\тхп 1
. = 1,т, . = 1, п.
Система (1), (2) с матрицей А является системой линейных двусторонних неравенств транспортного типа (системами транспортного типа называют такие системы линейных неравенств, коэффициенты ограничений которых лежат в множестве {0, 1}).
Определение 1
Для двух различных вектор-строк матрицы
А = а.. , а.. е {0,1}, I = 1,т, 1 = 1,п,
II УЦтхи - 1
а = (а.1, ^^.^ а п ) и а. = (аЛ, а. 2 , ..., а.п ) стр°-
ку а1 назовём вложенной в строку а., если
а к < а.к, к = 1, п, . = 1, т, . = 1, т.
Определение 2
Неравенство . будем называть вложенным в неравенство., если строка а.. матрицы А вложена в строку а.
Определение 3
Вектор-строки
“і = (ап, аі2,...,аш)
а. = (а.1 а 2,...,а.п) матрицы А назовём дополнительными, если аЛ + а.к < 1, к = 1, п, г = 1, т,
/ = 1, т.
Определение 4
Неравенства г и/ системы (1) назовём дополнительными, если строки а1 и аматрицы А
дополнительны.
Будем говорить, что матрица А удовлетворяет свойству 1, если для любых двух строк матрицы А одна из них либо вложена в другую, либо дополнительна с ней.
Аналогично, матрица А удовлетворяет свойству 2, если множество её строк может быть разбито на два непересекающихся подмножества, каждое из которых обладает свойством 1.
Сведение к задаче распределения ресурса в иерархической структуре
Задача распределения ресурса в древовидной иерархической структуре, к которой будет осуществляться сведение, состоит в следующем. Имеется иерархическая структура, представленная в виде корневого ориентированного взвешенного дерева G=(V,E), ЕсУ. На множестве V вершин дерева задано разбиение У={1}^Ур^Ус. Обозначим через F(i)={j|(ij)еE, /е V} множество вершин, непосредственно следующих после вершины г, ге V; Р(г)= ={/|(/'/)еЕ, /е V} - множество вершин, непосредственно предшествующих вершине /, /е V. Данная модель отображает многоуровневую иерархическую структуру, в которой ресурс распределяется от источника (вершина 1) через передающие узлы (множество вершин Ур) пользователям (множество вершин Va которое также называют множеством листовых элементов структуры). В рассматриваемой иерархической структуре F(г) = 0 для iеVc и Р(/) = 0 для /е Vс.
Обозначим через Q(г) множество всех таких вершин /, / е Vc, для которых в дереве G существует ориентированный маршрут из г в /. Таким образом, Q(г) - множество всех листовых потомков элемента г.
Пусть хг, геV, - количество ресурса, соответствующее г-му элементу, то есть количество «производимого» ресурса для источника (вершины 1), передаваемого ресурса для передающих узлов (вершин из множества Vp) и «потребляемого» ресурса для пользователей (вершин из множества V;).
Величины хі ограничены как максимальными, так и минимальными значениями:
0 < Л< Хі< Ві, ієУ. (3)
Обозначим через у- количество ресурса, передаваемое по дуге (і,-), (і,/)єЕ. Пропускную способность каждой дуги определяют величины с- и Dij - это нижняя и верхняя границы сег-
мента допустимых значений у-,
С>0, Dii<(Xl,
(г, /)еЕ. Тогда ограничения на величины ресурса, передаваемого по дугам, определяются системой:
/ Уг/ < В/ (г/)еЕ. (4)
При передаче по иерархической структуре ресурс сохраняется:
(5)
(6)
£У, = Хі, і є У\{1},
-єР(і)
= Е у-
-єР (і)
і є У \ У .
Количество ресурса, соответствующее элементам и дугам структуры, неотрицательно:
х,. > 0, г е V, у. > 0, (/,/■) е Е. (7)
Задача поиска допустимого распределения однородного ограниченного ресурса в многоуровневой иерархической структуре заключается в определении таких величин хг, iеV, и у., (г/)еЕ, для которых выполняются ограничения
(3)-(7).
Утверждение 1
Если матрица А системы (1) удовлетворяет свойству 1, то для нее можно построить эквивалентную древовидную иерархическую структуру, решение задачи распределения ресурсов в которой определяет решение системы (1), (2).
Алгоритм А1 сведения системы неравенств (1), (2), удовлетворяющей свойству 1, к задаче распределения ресурса в иерархической структуре (3)-(7).
1. По исходной системе неравенств (1), (2) строится новая система неравенств
ь\ а'-х- < с’і
-=1
і = 1, т,
Ь'т+- < Х- < С'т+- , - = 1, П
(8)
Ъ\ е ^ с\ е ^ I = 1, m, Vт+// е К с'т+/ е R,
/ = 1,п, а'. е {0,1}, г = 1,т, / = 1,п, которая удовлетворяет двум требованиям: в системе (8) имеется одно выделенное ограничение, для которого все остальные неравенства являются вложенными, и для всех неизвестных XI, ...,хп присутствуют неравенства вида
Ът+.< X. < С'т+. ,/ = 1, п. Назовём эти ограничения на отдельные неизвестные ограничениями нулевого порядла. Для всякой переменной х,,
и
которая не имеет соответствующего ограничения нулевого порядка в системе (1), (2), но присутствует хотя бы в одном неравенстве в составе некоторой суммы, например, в неравенстве к с левой и правой частью Vк и с'к, составим новое (избыточное) ограничение 0 < х. < с'к.
Система неравенств с добавлением данного ограничения будет иметь то же решение, что и система (1), (2), так как переменные исходной системы неотрицательны. Обозначим через А матрицу полученной системы неравенств (8).
2. Неравенства в системе (8) упорядочиваются по убыванию количества единиц в строках матрицы А с помощью перестановки строк и нумеруются. Номера неравенств обозначим с помощью угловых скобок <1>-<т>.
3. Неравенству <1>, для которого все прочие неравенства являются вложенными, поставим в соответствие корень дерева. Нижней и верхней границей исходящего ресурса для корня определим левую и правую границы неравенства <1>.
4. Далее, если каждая новая строка <к> вложена в одну из предыдущих просмотренных строк </>, то устанавливаем в дереве элемент для строки <к> потомком элемента, соответствующего строке </>. В случае, когда строк, в которые вложена строка <к>, несколько, то необходимо установить элемент для строки <к> потомком элемента строки из этого набора с наименьшим количеством единиц.
5. Алгоритм завершается, когда для всех неравенств системы (8) будут созданы соответствующие элементы иерархической структуры.
Полученная структура древовидна, так как каждый потомок в ней всегда имеет только одного родителя. Для поиска допустимого решения задачи распределения ресурса в иерархических структурах данного типа в работе [7] предложен метод приведенных границ, который имеет вычислительную сложность О(т), где т -число элементов структуры. Значения неизвестных системы будут определяться значениями количества ресурса на листовых элементах структуры в допустимом решении задачи распределения ресурса.
Сведение к задаче поиска допустимой циркуляции в транспортной сети
Рассмотрим задачу поиска допустимой циркуляции в транспортной сети с двусторонними пропускными способностями в постановке, предложенной в [8]. Имеется транспортная сеть G=(V, Е), Ес^¥ - взвешенный связный ориентированный граф без петель и контуров. Каждой дуге е е Е графа поставлены в соответст-
вие нижняя и верхняя границы пропускной способности I(е) < с(е), 1(е), с(е) е 2. Циркуляцией в транспортной сети G называется набор значений функции потока для каждой дуги сети f (е), таких, что выполняются условия 0 < /(е) < с(е) и для каждой вершины сети г
X / СО = X f /).
/'■(/,г)еЕ /:(г,/)еЕ
Циркуляция называется допустимой, если для всех дуг транспортной сети е е Е её функция потока удовлетворяет ограничениям пропускной способности I(е) < /(е) < с(е).
В работе [9] показано, что некоторые многоиндексные системы линейных неравенств допускают ускорение процедуры проверки на совместность, так как сводятся к задаче поиска допустимой циркуляции в транспортной сети. В данной работе получен аналог результата [9] для произвольной системы двусторонних линейных алгебраических неравенств транспортного типа, предложен признак сводимости для систем неравенств вида (1), (2) к задачам поиска допустимой циркуляции в транспортной сети и разработан алгоритм построения транспортной сети по исходной системе неравенств.
Утверждение 2
Если множество строк матрицы А системы (1) удовлетворяет свойству 2, то для неё может быть построена задача поиска допустимой циркуляции в транспортной сети, такая, что подмножество компонент её допустимого решения определяет допустимое решение исходной системы неравенств.
Алгоритм А2 построения транспортной сети по системе линейных алгебраических неравенств транспортного типа (1), (2) с матрицей А , удовлетворяющей свойству 2.
1. Построим систему (8) с матрицей А по системе неравенств (1), (2) аналогично пунктам
1 и 2 алгоритма А1.
2. Каждому неравенству системы с номером
<к>, к = 1, т, поставим в соответствие два элемента транспортной сети ск и dk. Соединим эти элементы дугой (ск, dk) с двусторонней пропускной способностью, равной левой и правой границе неравенства <к>. Получаем систему из несвязанного набора дуг, которая затем будет преобразована в транспортную сеть.
3. Подмножества неравенств, определённые по свойству 2, упорядочим по невозрастанию количества единиц в коэффициентах.
4. По двум подмножествам неравенств построим две части транспортной сети следующим образом. Будем просматривать неравенства в подмножествах по порядку, начиная с пер-
вого, для которого все остальные неравенства являются вложенными и которому соответствует дуга (сь dl).
5. Каждый последующий просматриваемый узел ск, соответствующий неравенству <к> из первого подмножества, будем соединять дугой (Ср, ск) с пропускной способностью [0, да] с узлом dp для неравенства <р> из уже просмотренных, таким, что неравенство <к> вложено в <р> и из всех неравенств, в которые вложено <к>, <р> имеет наименьшее количество единиц.
6. Добавим ко второму подмножеству новый элемент - копию первого неравенства первого подмножества - и установим ему в соответствие два элемента и дугу (ст, dm).
7. Для всех элементов второго подмножества построим дуги аналогично, однако с иным направлением: если неравенство <г> вложено в <>, и из всех неравенств, в которые вложено <г>, <> имеет минимум единиц, то проведём дугу (Сг, сх) с пропускной способностью [0, да].
8. На последнем этапе алгоритма просмотрим все неравенства вида а1 < х1 < Ъ1, г = 1, п. Такие неравенства могут лежать в любом из двух подмножеств. Присоединим каждое из них временно в противоположное подмножество и соединим дугами с элементами, в которые они оказались вложены, по тем же правилам, что и все неравенства в этом подмножестве.
9. Замкнём транспортную сеть дугой (Ст, с\).
Алгоритм А2 строит соответствующую
транспортную сеть с двусторонними пропускными способностями дуг по системе линейных двусторонних неравенств транспортного типа, удовлетворяющей свойству 2. Задача о поиске допустимой циркуляции в транспортной сети может быть решена, например, методом Карза-нова [10], который в данном случае имеет вы-
числительную сложность 0((п+т) ). Система неравенств (1), (2) совместна, если найдена допустимая циркуляция в построенной сети с двусторонними пропускными способностями.
Оценки вычислительной сложности
Для систем неравенств, удовлетворяющих свойствам 1 или 2, в которых количество неравенств сравнимо с количеством неизвестных, т. е. т = О(п), подобное сведение позволяет значительно сократить время поиска допустимого решения, так как алгоритмы конструирования эквивалентных задач и построения их допустимого решения имеют эффективные полиномиальные оценки с вычислительной сложностью меньшей, чем для общих методов линейной алгебры. Трудоёмкость построения эквивалентных древовидных иерархических структур и транспортных сетей для таких систем не превышает 0(пт2) вычислительных операций, поиск допустимого решения задачи для древовидной иерархической структуры производится за О(т) вычислительных операций, а решение задачи о допустимой циркуляции в транспортной сети с двусторонними ограничениями требует, включая сведение транспортной сети с односторонними ограничениями на дугах, 0(т3) вычислительных операций. Таким образом, для систем линейных двусторонних неравенств транспортного типа, удовлетворяющих свойству 1, поиск допустимого решения имеет вычислительную сложность 0(пт2), а для систем, удовлетворяющих свойству 2, - 0((п+т)3).
Пример 1
Пусть задана система линейных двусторонних неравенств транспортного типа, записанная в матричной форме:
Рис. 1
Рис. 2
(3 ^ (1 1 1 1 1 >
2 0 0 1 1 1
6 1 1 0 0 0 (
1 0 0 0 1 1
<
2 0 0 0 0 1
2 0 0 0 1 0
1 1 0 0 0 0 V
2 0 1 0 0 0
V У V У
x,■ > 0, і = 1, 5.
(10 ^
9
7
10 4
8
4
5
Строки матрицы данной системы неравенств упорядочены по невозрастанию количества единиц. Проверим для неё выполнение свойства 1. Для строки <1> все остальные строки являются вложенными; для строки <2> строки <4>, <5> и <6> - вложенные, а <3>, <7> и <8> - дополнительные. Для строки <3> строки <4>, <5> и <6> - дополнительные, а <7> и <8> - вложенные. Для строки <4> строки <5> и <6> - вложенные, а <7> и <8> - дополнительные. Строки <5>, <6>, <7> и <8> - дополнительные между собой.
Построим задачу распределения ресурса в древовидной иерархической структуре, соответствующую данной системе неравенств. Для этого преобразуем систему, добавив в неё недостающие ограничения нулевого порядка, а именно одно ограничение для переменной х3. Она входит в неравенство <2> и ограничена сверху правой частью данного неравенства, а снизу - нулём. Таким образом, получаем новую систему линейных неравенств:
2
6
1
2 <
2
1
2
V 0 у
1Ї 1
0
1
1
0
0
0
0
'О
(10 ^
9
7
10 4
8
4
5 9
задачи распределения ресурса представляет собой допустимое решение системы линейных неравенств. Так как неравенства <5>, <6>, <7>, <8> и <9> содержат ограничения на неизвестные х5, х4, X], х2, х3 соответственно, то полученное допустимое решение исходной системы неравенств - это х5=2, х4=2, Х1=3, х2=3, х3=0.
Пример 2
Рассмотрим систему линейных двусторонних неравенств транспортного типа.
( 5 ^ (1 1 1 1 > (14'
3 1 1 1 0 7
4 0 1 1 1 ( * ' 9
3 0 1 0 1 X, 6
< <
1 1 0 0 0 X3 4
2 0 1 0 0 V X4 У 3
2 0 0 1 0 5
0 0 0 0 1 3
V у V у
xi > 0, і = 1 4.
х1 > 0, г = 1, 5.
Применяя алгоритм А1, получим следующую древовидную иерархическую структуру.
Обозначим уг количество ресурса, соответствующее элементу г, г = 1, 9. Найдём решение задачи распределения ресурса в иерархической структуре методом приведённых границ [7] и получим значения количества ресурса элементов: У1=10, у2=4, уз=6, >4=4, У5=2, Уб=2, у?=3, у8=3, у9=0. Подмножество компонент решения
Проверим для матрицы этой системы неравенств выполнение свойств 1 и 2. Для строки <1> все остальные строки являются вложенными. Для строки <2> строки <5>, <6> и <7> -вложенные, а строка <8> - дополнительная. Строки <3> и <4> не являются для строки <2> ни вложенными, ни дополнительными. Значит, свойство 1 не выполнено. Выделим строки <1> и <2> в подмножество строк Мі, а первую строку, нарушающую вложенность и дополнительность, - строку <3> - в подмножество М2. Для строки <3> строки <4>, <6>, <7> и <8> - вложенные, а строка <5> дополнительна. Строка <4>, как и <3>, нарушает свойства вложенности и дополнительности со строкой <2>, поэтому она также помещается в М2. Строки <5>, <6>, <7> и <8> между собой дополнительны, и они могут быть добавлены в любое из подмножеств М1 или М2. Для определённости поместим их в М1.
Построим эквивалентную транспортную сеть для данной системы неравенств. Сконструируем первую часть сети по подмножеству строк М1={<1>, <2>, <5>, <6>, <7>, <8>}. Строке <1> соответствуют пара элементов сети с1, d1 и дуга (с1, d1) с пропускной способностью [5, 14], что соответствует границам неравенства <1>. Строке <2> соответствует дуга (с2, d2). Так как строка <2> вложена в единственную строку <1>, то элементы d1 и с2 соединяются дугой с пропускной способностью [0, да]. Далее будем считать, что каждая новая дуга получает пропускную способность [0, да], если не указано иное. Строкам <5>-<8> из М1 соответствуют дуги (С5, d5), (Сб, d6), (С7, d7), (с8, d8) с двусторонними
X
X
2
X
3
X
4
X
X
2
X
3
X
4
пропускными способностями, равными левой и правой границе соответствующих неравенств. Строки <5>, <6>, <7> вложены в <1> и <2>, из которых <2> имеет наименьшее количество единиц. Следовательно, проводятся дуги (й2, с5), (й2, с6), (й2, с7). Строка <8> вложена лишь в <1>, и для неё проводится дуга (й\, с8).
Для подмножества строк М2 сконструируем вторую часть транспортной сети аналогично, проводя дуги для вложенных элементов в обратном направлении. Добавим в это подмножество строку <1>. Теперь для подмножества М2={<1>, <3>, <4>} построим аналогичные пары элементов с дугами (с9, й9), (с3, й3) и (с4, й/4), имеющими пропускные способности соответственно [5, 14], [4, 9], [3, 6]. Строка <3> вложена в <1>, поэтому добавим дугу (й3, с9). Строка <4> вложена в строки <3> и <1>, из которых минимальное количество единиц имеет строка <3>, следовательно, соединим элементы й4 и с3 дугой (й4, С3).
Временно поместим строки <5>-<8> в подмножество М2. Строки <6> и <8> вложены в <1>, <3> и <4>, из них <4> имеет минимум единиц, поэтому добавляем дуги (й6, с4) и (й8, с4). Строка <7> вложена в строки <3> и <1> из М2, причём в строке <3> меньше единиц, поэтому добавляем дугу (й7, с3). Аналогично построим дугу (й5, с9) и замкнём сеть дугой (й9, С1). Получаем транспортную сеть с двусторонними пропускными способностями, решение задачи о допустимой циркуляции в которой определяет решение исходной системы неравенств.
Обозначим через уг, г = 1,9 , поток по дуге (сг, й). Решив задачу о допустимой циркуляции в полученной транспортной сети с двусторонними пропускными способностями через сведение к задаче о максимальном потоке в сети с односторонними пропускными способностями, получаем потоки на дугах у1=10, у2=7, у3=8, У4=5, У5=2, У6=2, у7=3, у8=3, У9=10. Подмножество компонент решения задачи о допустимой циркуляции представляет собой допустимое решение исходной системы неравенств. Так как дуги (с5, й5)-(с8, й8) соответствуют неравенствам <5>-<8>, то переменные у5, ..., у8 соответствуют переменным X], ..., х4 исходной задачи, и
полученное допустимое решение исходной системы неравенств - это Xj=2, x2=2, x3=3, x4=3.
Заключение
Полученные результаты могут быть применены для решения большеразмерных систем двусторонних линейных неравенств транспортного типа. Для систем линейных неравенств, удовлетворяющих свойствам 1 или 2, разработанные методы сведения позволяют значительно сократить временные затраты на проверку совместности и поиск допустимого решения.
Список литературы
1. Черников С.Н. Линейные неравенства. М.: Наука, 1968. 488 с.
2. Encyclopedia of Optimization (Editors: Christo-doulos A. Floudas and Panos M. Pardalos), Volume II, New York: Springer, 2008. 4626 p.
3. Ye Y. An O(n3L)-potential reduction algorithm for linear programming // Mathematical Programming. 1991. P. 239-258.
4. Зоркальцев В.И., Филатов А.Ю. Новые алгоритмы оптимизации в конусе центрального пути // Дискретный анализ и исследование операций. Серия
2. 1999. Т. 6. №1. С. 33-42.
5. Голиков А.И., Евтушенко Ю.Г. Новый метод решения систем линейных равенств и неравенств // Докл. РАН. 2001. Т. 381. № 4. С. 444-447.
6. Dantzig G.B., Thapa M.N. Linear Programming. V. 2. Theory and Extensions. New York: Springer, 2003. 456 p.
7. Прилуцкий М.Х. Распределение однородного ресурса в иерархических системах древовидной структуры // Труды Международной конференции «Идентификация систем и задачи управления SICPR0’2000». М.: Институт проблем управления им. В. А. Трапезникова РАН, 2000. C. 2038-2049.
8. Van Leeuwen J. Handbook of Theoretical Computer Science. Volume A: Algorithms and Complexity. Amsterdam: Elsevier / Cambridge: The MIT Press, 1990. 996 p.
9. Афраймович Л.Г., Прилуцкий М.Х. Многоиндексные задачи распределения ресурсов в иерархических системах // Автоматика и телемеханика. 2006. № 6. С. 194-205.
10. Карзанов А.В. Нахождение максимального потока в сети методом предпотоков // ДАН СССР. 1974. Т. 215. №1. С. 49-52.
CONSISTENCY CHECK FOR TWO SUBCLASSES OF SYSTEMS OF TWO-SIDED LINEAR TRANSPORT-TYPE INEQUALITIES
E.A. Kulikova
Two subclasses are considered of systems of two-sided linear transport-type inequalities which can be reduced to the problems of resource allocation or finding admissible circulation in transport networks. This reduction allows one to solve inequality systems from these subclasses with computational complexity of O((n+m)3), where n is the number of unknowns and m is the number of inequalities in the system.
Keywords: systems of two-sided linear inequalities, consistency check.