Математическое моделирование. Оптимальное управление Вестник Нижегородского униве рситета им. Н.И. Лобачевс кого, 2008, № 5, с. 120-125
УДК 519.852.67
ОБ ОДНОМ КЛАССЕ МНОГОИНДЕКСНЫХ СИСТЕМ ЛИНЕЙНЫХ ДВУСТОРОННИХ НЕРАВЕНСТВ ТРАНСПОРТНОГО ТИПА
© 2008 г. М.Х. Прилуцкий, Е.А. Куликова
Нижегородский госуниверситет им. Н.И. Лобачевского
Поступила в редакцию 27.06.2008
Рассматриваются двусторонние системы линейных неравенств транспортного типа, для которых применимы вычислительные процедуры, основанные на идеологии метода ортогональных проекций. Для подкласса двухиндексных систем приводятся алгоритмы решения, основанные на представлении данных задач в виде потоковых моделей или древовидных структур. Данный подход позволяет решать двухиндексные системы линейных неравенств транспортного типа с вычислительной сложностью не более, чем 0(к3), где к - количество неизвестных в системе.
Ключевые слова: линейное неравенство, многоиндексная система, ортогональная проекция.
Введение
Изучение широкого класса задач распределения ресурсов в иерархических системах приводит к необходимости проверки на совместность многоиндексных систем линейных неравенств транспортного типа. Это задача объемнокалендарного планирования [1], задача распределения мощностей каналов передачи данных провайдерами сети Интернет [2], задача сбалансированной загрузки распределенной вычислительной сети [3], транспортная задача с промежуточными пунктами [4], оптимизационные задачи нефтегазового комплекса [5, 6] и др.
Реальные прикладные задачи имеют, как правило, большие размерности, и к ним неприменимы классические методы линейной алгебры.
В работе предлагается вычислительная процедура интерактивного решения общей системы линейных многоиндексных двусторонних неравенств транспортного типа, а также выделен специальный класс задач, решение которых может быть осуществлено либо сведением их к задачам поиска максимального потока в транспортной сети, либо, для сильносвязных систем, с использованием метода приведенных границ [7]. В частности, рассмотрены алгоритмы проверки на совместность для полной совокупности двух-индексных систем линейных двусторонних алгебраических неравенств транспортного типа.
Постановка задачи
Системы линейных неравенств называются системами транспортного типа, если в их огра-
ничениях содержатся переменные лишь с коэффициентами 0, +1 и -1. Рассмотрим наиболее общую систему линейных двусторонних неравенств транспортного типа. Заданы матрица A с элементами из множества {+1, 0, -1} размерности m? п и действительные векторы C и d размерности m. Требуется найти вектор X, удовлетворяющий системе линейных двусторонних неравенств транспортного типа
с < AX < d . (1)
С помощью ограничений (1) фактически можно записать двусторонние, односторонние неравенства и ограничения типа «равно».
Для широкого класса систем транспортного типа принципиальным является то, что для сохранения содержательного смысла в них вместо вектора варьируемых переменных используются многоиндексные матрицы неизвестных. В таких системах суммирование может осуществляться по одному или нескольким индексам. Так, например, в задаче объемно-календарного планирования ([1]) рассматривается четырехин-дексная система, в которой индексы соответствуют подразделениям предприятия, заказам, изделиям и тактам планирования. Число индексов в задачах распределения ресурсов может быть достаточно большим, поэтому, для удобства изложения, мы будем пользоваться обозначениями, принятыми в [8]. Пусть N (5) = 2,..., 5}. Каж-
дому числу I ставится в соответствие параметр , называемый индексом, который может принимать значения из множества Jl = {1,2,...,п1}, П > 2, I еN(5). Пусть / = [к1,к2,...,к{},
7 с N(5). Набор значений индексов Еу = = ( кк, ]к^,..., д) называется ^-индексом, а множество всех ^-индексов обозначается через Еу = Jki х Jk^ х... х Jкt, ^ = 1,5 . Каждому набору Еу ставится в соответствие действительное
число гЕу, Еу е Еу. Совокупность таких чисел для всех возможных значений индексов к, Л2,..., Л( называется ^-индексной матрицей и
обозначается через [гк к к } = [гЕ } . Пусть
Зк^З к2>'"’ 3к[ у
7 = N(5)\ у. Тогда через Е = ЕуЕу обозначается 5-индексн^1й набор (Зк^ J'k2,...,]к(, jkt+1,...,к,). При этом считается, что если у = 0, то Еу состоит из специально выделенного 0-индекса Е0 , причем Е = Е0Е. Тогда для сокращения записи можно ввести следующие обозначения:
X 2еуе7 = X X ... X гЕуЕу , Еу е Еу .
Еу еЕу Зк\ е кк2 е“^к2 Л(
Задача заключается в определении существования для заданного множества М,
М с 2N(5), такой 5-индексной матрицы {хЕ}, которая удовлетворяет системе линейных алгебраических двусторонних неравенств
аЕу < X ХЕуЕу < ЬЕу , Еу е Еу, 7 е М. (2)
7 Еу еЕу 7 7 7 7 7
В дальнейшем систему неравенств (2) при заданном множестве М будем обозначать через Б(М).
Частные подклассы многоиндексных систем линейных двусторонних неравенств транспортного типа
Системы, сводящиеся к потоковым моделям. Некоторые многоиндексные системы, имеющие специфическую структуру подмножеств индексов Еу, допускают ускорение процедуры проверки на совместность и поиска решения. Рассмотрим такие многоиндексные системы линейных неравенств -О(М), для которых решение вопроса о совместности сводится к решению задачи Т поиска допустимой циркуляции в транспортной сети. Пусть в системе ограничений (2) аЕ_ и ЬЕ_ - целые числа.
Будем считать, что задача О(М) сводится к задаче Т, если некоторое подмножество компонент оптимального решения задачи Т образует оптимальное решение задачи Б(М), и задача Б(М) не имеет допустимого решения, если не
имеет допустимого решения задача Т. Из [2] следует, что для того чтобы задача Д(М) сводилась к задаче Т, достаточно, чтобы существовало такое разбиение М1 = {/1(1),/21),...,/^(1)},
М2 = {/1(2),/2(2),...,/;2)} множества М, для которого выполняется:
/гГ> С І = 1 ті - 1 и
/г1) С У%\ І = ^т2 - 1. (3)
Древовидные системы. Решение некоторых классов многоиндексных систем линейных неравенств может быть сведено к задаче распределения однородного ресурса в сильносвязной иерархической структуре. Это классы задач, для которых множество М состоит из системы вложенных друг в друга подмножеств индексов.
Пусть граф Є = (V, А), ЛсУ2, \ V = п, \А\ = т, представляет собой корневое ориентированное дерево. Обозначим через ЯІ ={/\(/,і)єА} множество элементов системы, непосредственно предшествующих элементу І, а через Qi = = {/Ш)єЛ} множество элементов системы, непосредственно следующих после элемента І, І єV. Множество вершин V разобьем на совокупность множеств {І0}, Vі, Ур - корень дерева, множество листьев и остальные вершины соответственно. Такая математическая модель формализует процесс распределения однородного ресурса в сильносвязной иерархической системе от производителя ресурса (корень дерева) до потребителей ресурса (листья дерева) через передающие элементы (другие вершины дерева). Древовидная структура графа Є предполагает, что К,о =0, \^\= 1, І єУ \{Іо}, Q1 ^0,
І єУ \ Vі, Qг =0, І є Vі.
Будем обозначать номер элемента, предшествующего элементу І, Іє^^о}, через тс(і), это можно сделать, так как \ ЯІ \= 1 при І єV \ {І0} .
Пусть величина Х/ определяет количество ресурса, которое будет передано по дуге (І,/), (і,/)єА. Объем ресурса, соответствующего элементу І, будем обозначать через уІ. Объемы ресурса, передаваемого, производимого или потребляемого элементами системы, в общем случае ограничены сверху и снизу значениями СІ и Д соответственно, І є V .
Математическая модель распределения однородного ресурса в иерархической системе древовидной структуры представляет собой следующую систему ограничений:
Z xv - Хп(г )i = 0, i ^Vp ,
(4)
г г? г г
_ f С, = max
Л
(
D = min
С, Z С,
V jGQi
\
D, Z D
V jGQi /
, i e{io) u Vp.
(5)
j GNs, и = 0 в противном случае. Заменим
с. <я < Д.,.еК, где У.0 = Е Х01> я. = Х*(. ).■ > . е уР и К' •
1ейо
Из [9] следует, что система ограничений (4) совместна тогда и только тогда, когда
С. < Д.,. еК, где
С = С, Д = Д,. е К‘;
x(v) на x(V+1): x (V+1) = x (v)+Az(s\
A = bs - Ax(j)
где
N
Если с < Ax(v), то заменим xv)на x(v+^:
x
(v+1) _ ?(v)
= x(v) - Az(s), где A =
с - Ax
(v )
N
. Пе-
рейдем к следующему (s + 1)-ограничению. И так для всех ограничений.
j =
xV + (bs - Ax(v)) X (| Ns |)-
если
b > Ax(v),
xV - (ax(v) - Cs) X (| Ns |)-1,
если
Ax(v)
> c.
Алгоритмы решения
Для проверки на совместность систем линейных неравенств известны различные классические результаты линейной алгебры (теорема Александрова-Фань-Цзы, теорема Черникова [10]). Кроме того, для проверки совместности и получения решения совместных систем могут быть использованы симплекс-метод (первый этап двухэтапного симплекс-метода), метод эллипсоидов ([11]) с оценкой O(n(n+m)L), алгоритм Кармаркара ([12]) с оценкой O(n4’5 log n), где n - количество неизвестных в системе, а m -количество неравенств.
Метод ортогональных проекций Агмона— Моцкина. Кроме точных методов для решения систем линейных неравенств могут быть использованы итерационные методы. Рассмотрим один из них - релаксационный метод ортогональных проекций Агмона-Моцкина ([13]), а точнее его модификацию ([7]), хорошо зарекомендовавшую себя для случая транспортных систем линейных двусторонних многоиндексных неравенств.
Для определения совместности системы (1) рассмотрим следующую вычислительную процедуру. Пусть x(v) - произвольный вектор (например, с нулевыми компонентами). Если x(v) удовлетворяет ограничениям (1), то задача решена. Пусть s - номер первого по порядку ограничения системы (1), условия которого нарушены. Через Ns обозначим множество номеров ненулевых коэффициентов матрицы A в строке
s, а через N s множество номеров нулевых. Если b > Ax(j)
xj + = xj
1е К •
Тогда если система (1) совместна, то последовательность х^, сходится к ее допустимому решению ([7]).
Для корректной работы метода ортогональных проекций Агмона-Моцкина необходимо уметь распознавать совместность системы (1). В данном случае возможно введение управляющих параметров: в - точности и Н - количества шагов. Тогда для решения системы (1) можно воспользоваться следующей эвристической процедурой: если за Н шагов с в -точностью не получено решение системы (1), то система считается несовместной. Данный итерационный подход применим к системам линейных неравенств большой размерности вида (1) или (2).
Сводимость к потоковым моделям. При выполнении условий (3) для многоиндексной системы линейных неравенств Д(М) строится соответствующая транспортная сеть с двусторонними пропускными способностями дуг. Поиск допустимой циркуляции проводится с помощью построения транспортной сети и решения для нее задачи поиска максимального потока. Если не учитывать логарифмические сомножители, то алгоритм Гольдберга и Рао ([14]) для задачи о максимальном потоке имеет вычислительную сложность 0(т3/2), где т - число дуг транспортной сети. Число вершин в построенной транспортной сети по порядку совпадает
с величиной Q =| Ем(,) | + Е I Еу | - суммой
Г еМ
количества переменных и ограничений в задаче Д(М). В случае если задача Д(М) сводится к
то обозначим zs, = 1, если задаче T, то Q < 4 | EN (s) | (1 - 2 s), а число дуг
транспортной сети по порядку совпадает с числом вершин. И тогда проверка совместности системы неравенств Д(М) потребует
0(| Еы(,) |3 2) арифметических операций.
Алгоритм приведенных границ. Метод решения систем неравенств, сводящийся к поиску допустимого распределения однородного ресурса в древовидной иерархической структуре, основан на процедуре построения так называемых приведенных границ С., Д., .еК\К. Из рекуррентных соотношений (5) следует, что С. > Е С, Д < Е Д] ,. еК\К‘, геК\К, по-
1'ей 1'ей
этому решение системы (4) может быть осуществлено по следующему алгоритму:
1) определяем начальные значения переменных, х.1 = с., 1 е ^;
2) просматриваем в произвольном порядке элементы 1 из множества Qi, и если Е хп < я.,
то увеличиваем Ху на шт
Л
СУ - Ху , .V,- - Е Х,1
типа может содержать суммы по одному или двум индексам, а также условия на переменные без суммирования (то есть неравенства для 0-индекса). Рассмотрим все возможные виды ограничений в общей форме двойных неравенств:
а <
ЕЕху < ъ,
,=і ]=і
еУ <Е Х,у < /у , 1 = 1, ^ і=1
(6)
(7)
(8)
При вычислении величин С., Д., основанном на данных рекуррентных соотношениях, для каждого элемента просматриваются лишь ограничения, связанные с последующими элементами системы. Поэтому алгоритм вычисления данных величин и алгоритм проверки совместности иерархической системы древовидной структуры имеет вычислительную сложность 0(п).
В случае совместности иерархической системы поиск допустимого варианта распределения ресурсов описанным алгоритмом требует решения системы (4) для каждого элемента , /еК\К^. Предлагаемый алгоритм решения системы (4) имеет вычислительную сложность 0(| Qi |), .еКК Так как Е| Qi | = п ~ 1, то
.еК\К'
предлагаемый алгоритм поиска допустимого варианта распределения однородного ресурса в иерархической системе древовидной структуры с ограничениями объемов ресурсов, соответствующих элементам системы, имеет вычислительную сложность 0(п).
Двухиндексные системы линейных неравенств транспортного типа
В наиболее общем виде двухиндексная система двустроннних неравенств транспортного
ё.1 < х.1 < И,. = 1 m, 1 = 1-n, (9)
х.- > 0,. = 1, т, - = 1,п. (10)
Легко проверяемые необходимые и достаточные условия совместности систем линейных уравнений для двухиндексной биаксиальной транспортной задачи (условия баланса) приводятся в [10]. Наличие двусторонних неравенств в ограничениях (6)-(9) усложняет задачу и приводит к необходимости применять более общие методы.
В данной работе рассматриваются методы, основанные на представлении систем неравенств в виде эквивалентных им иерархических структур распределения ресурсов. Трудоемкость данных методов не превышает 0(И3), где И - количество неизвестных в системе.
Вспомогательная одноиндексная система. Для некоторых типов двухиндексных систем оказывается возможным их сведение к одноин-дексным, имеющим более простую структуру. Поэтому рассмотрим общую одноиндексную систему и метод ее решения.
Система с одним индексом в наиболее общем виде представляется таким образом:
<ЕХ <ъ,
(11)
(12)
х, > 0, і = 1, да. (13)
Одноиндексная система (11)—(13) имеет древовидную структуру и может быть представлена в виде эквивалентной сильносвязной иерархической системы распределения однородного ресурса, для которой условия
да да
шах(а, Ес,) < шіп(Ъ, Её,) (14)
,=1 ,=1
являются необходимыми и достаточными для ее совместности [9].
г=1
сводятся к одноиндексным. Решение этих задач будет найдено не более чем за 0(тп) шагов.
Сведение к задачам распределения ресурсов в древовидных иерархических структурах.
Задачи (6), (7), (9), (10) и (6), (8), (9), (10) имеют древовидную структуру и могут быть решены методом, представленным в работе [9]. Оценка скорости поиска решения в этом случае будет линейной и равной 0(тп).
Сведение к потоковым моделям. Для задачи (6), (7), (8), содержащей только ограничения на суммы по одному индексу, применима схема сведения к задаче о существовании допустимой циркуляции в транспортной сети, представленная в [15]. Получаем сеть, состоящую из истока, стока, т узлов первого и п узлов второго уровня с количеством связей между ними тп, имеющих бесконечную пропускную способность. При поиске решения по алгоритму Карзанова [16] получаем оценку количества шагов 0((т+п)3).
При решении задачи (5)-(8) и самой общей задачи (4)-(8) воспользуемся признаком сводимости к потоковой модели, представленным в работе [2].
Задача (4)-(8) сводится к транспортной сети, показанной на рисунке. С дугами сети связаны
Построение решения происходит по методу последовательной загрузки путей в иерархической сильносвязной структуре и имеет оценку количества операций 0(т).
Четыре типа неравенств в системе (6)—(10) определяют 16 видов систем по числу различных подмножеств множества двух индексов {., 1} (считаем, что ограничения неотрицательности переменных (8) присутствуют во всех без исключения системах).
Системы, сводящиеся к одноиндексным.
Очевидно, что системы (6), (10) и (6), (9), (10) можно свести к одноиндексным путем перенумерации переменных.
Рассмотрим систему (6), (7), (10). Произведем замену переменных по такому правилу:
п ___
Е ху =2.,. =1 т.
1=1
Тогда получаем следующую одноиндексную систему неравенств:
т
а <Е ^ < К
.=1
с. < 2. < di,. = 1, т,
2. > 0,. = 1, т.
Аналогично задачи (6), (7), (10); (7), (10) и (8), (10) с помощью соответствующей замены
Рис.
сегменты, соответствующие пропускным способностям, и стоимости. Дуги, у которых сегменты не указаны, имеют нулевую нижнюю и неограниченную верхнюю пропускные способности. Символ * означает, что в соответствующем данному узлу ограничении происходит суммирование по всем значениям данного индекса.
Для рассматриваемых систем неравенств выполняется условие наличия двух систем вложенных подмножеств, и следовательно, сведение возможно. Получаем транспортную сеть, состоящую из истока, стока, да узлов, соответствующих неравенствам (5), п узлов, представляющих неравенства (6), и дап узлов для неравенств (7). Оценка скорости поиска решения задачи равна 0((да+п+дап)3).
Заключение
В работе рассматриваются общие подходы к решению многоиндексных двусторонних систем линейных неравенств транспортного типа. Выделен класс задач, для которых представляется возможным значительно ускорить поиск решения благодаря их сведению к задачам поиска максимального потока в транспортной сети либо к задаче распределения однородного ресурса в сильносвязной иерархической системе. В качестве иллюстрации предлагаемого подхода приведены схемы сведения, а также алгоритмы проверки на совместность и решения для полной совокупности двухиндексных систем линейных двусторонних алгебраических неравенств транспортного типа.
Список литературы
1. Прилуцкий М.Х. Многокритериальные многоиндексные задачи объёмно-календарного планирования // Известия Академии наук. Теория и системы управления. 2007. № 1. С. 78-82.
2. Афраймович Л.Г., Прилуцкий М.Х. Многоиндексные задачи распределения ресурсов в иерархических системах // Автоматика и телемеханика. 2006. № 6. С. 194-205.
3. Deikmann R., Frommer A., Monien B. Efficient schemes for nearest neighbor load balancing // Parallel Computing. 1999. 25. P. 789-812.
4. Corban A. Transportation problem with intermediate centers // Rev. Roum. Mat. Pures. Appl. 1971. V. 16, № 9. P. 128-134.
5. Прилуцкий М.Х., Костюков В.Е. Оптимизационные задачи объёмно-календарного планирования для нефтеперерабатывающих предприятий // Системы управления и информационные технологии. 2007. № 2.1(28). С. 188-192
6. Прилуцкий М.Х., Костюков В.Е. Оптимизационные задачи планирования транспортировки газа. // Информационные технологии и вычислительные системы. 2007. № 2. С. 67-73.
7. Прилуцкий М.Х. Многокритериальное распределение однородного ресурса в иерархических системах // Автоматика и телемеханика. 1996. № 2. С. 24-29.
8. Раскин Л.Г., Кириченко И.О. Многоиндексные задачи линейного программирования (теория, методы, приложения). М.: Радио и связь, 1982. 240 с.
9. Прилуцкий М.Х. Распределение однородного ресурса в иерархических системах древовидной структуры // Труды Международной конференции «Идентификация систем и задачи управления SICPR0’2000». М.: Институт проблем управления им. В.А. Трапезникова РАН, 2000. С. 2038-2049.
10. Черников С.Н. Линейные неравенства. М.: Наука, 1968. 488 с.
11. Пападимитриу Х., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность. М.: Мир, 1985. 510 с.
12. Franklin J. Convergence in Karmarkar's Algorithm for Linear Programming // SIAM Journal on Numerical Analysis. 1987. V. 24, No. 4. Р. 928-945.
13. Motzkin T., Schoenberg I. The relaxation method for linear inequalities // Caned. J. Moth. 1954. V. 6, № 3. P. 393-404.
14. Goldberg A.V., Rao S. Beyond the flow decomposition barrier // J. ACM. 1998. V. 45. № 5. P. 783797.
15. Хуцишвили Н.Г., Шарашенидзе Н.М. Решение трехиндексной транспортной задачи методом транспортных сетей // Сообщения Академии наук Грузинской ССР. 1968. Т. XLIX. № 1. С. 31-36.
16. Карзанов А.В. Нахождение максимального потока в сети методом предпотоков // ДАН СССР. 1974. Т. 215, № 1. С. 49-52.
ON A CLASS OF MULTIINDEX SYSTEMS OF TWO-SIDED LINEAR TRANSPORT-TYPE INEQUALITIES
M.Kh. Prilutsky, E.A. Kulikova
Two-sided systems of linear transport-type inequalities which allow using calculation procedures based on the orthographic projection method are considered. For two-indexed systems, the solution algorithms based on flow models and tree structures are presented. This approach allows one to solve two-indexed systems of linear transport-type inequalities with computational complexity no more than O (h3) where h is the number of system variables.