УДК 519.8 ББК 22.18
ПОИСК ПОТОКА В НЕСОВМЕСТНЫХ ТРАНСПОРТНЫХ СЕТЯХ
Афраймович Л. Г. 1 , Прилуцкий М. Х. 2
(Нижегородский государственный университет, Нижний Новгород)
Работа посвящена проблеме поиска потока в несовместной транспортной сети с двусторонними пропускными способностями дуг. При исследовании несовместных потоковых моделей рассматривается задача минимизации суммарных штрафов за изменения пропускных способностей сети. Предлагаемый алгоритм решения рассматриваемой задачи основан на сводимости к задаче поиска потока минимальной стоимости. В случае древовидной структуры сети предлагается алгоритм решения задачи, основанный на методе приведенных границ.
Ключевые слова: задачи распределение ресурсов, иерархические системы транспортного типа, потоки в сетях, несовместные системы линейных неравенств.
Введение
Существует широкий класс задач распределения ресурсов в иерархических системах транспортного типа, решение которых связано с поиском потоков в сети [1,2,5-9]. Примерами таких задач являются: задача планирования транспорта газа в магистральном газопроводе, задачи объемно-календарного планирования, задача распределения мощностей каналов передачи данных, и др.
1 Афраймович Лев Григорьевич, кандидат физико-математических наук, ст. преподаватель, ([email protected]).
2 Прилуцкий Михаил Хаимович, доктор технических наук, профессор, ([email protected]).
Задача планирования транспорта газа в магистральном газопроводе [9].
Рассматривается сложная система, основными элементами которой являются газовые промыслы, на которых происходит добыча газа; компрессорные станции, основным оборудованием которых являются газоперекачивающие агрегаты; нитки газопроводов, соединяющие газовые промыслы с компрессорными станциями. Добытый на газовых промыслах газ поступает в газопровод. Для его движения через определенные расстояния на магистральных газопроводах устанавливаются компрессорные станции, предназначенные для перекачки газа в газопроводе. Схема функционирования процесса транспонирования газа включает в себя добычу газа на газовых промыслах, обладающих ограниченными объёмами добычи газа, транспортировку газа по различным ниткам газопроводов, имеющих ограниченные пропускные способности, прохождение газа через компрессорные станции, каждая из которых в свою очередь обладает ограниченной "мощностью". Требуется при заданных ограничениях на объёмы добычи газа, ограничениях на пропускные способности ниток газопровода и известных "мощностях" компрессорных станций, на заданный период планирования определить максимально возможные объёмы транспортировки газа в существующей системе при минимальных затратах на обслуживание всей системы.
Задачи объемно-календарного планирования.
Задача объемно-календарного планирования для подразделений предприятия с единичным и мелкосерийным характером производства [5, 6].
Требуется распределить общий план предприятия в объёмных характеристиках (нормо-часы, рубли, условные тонны) по различным показателям: группам оборудования, периодам планирования, этапам изготовления, потребляемым ресурсам, видам продукции. Показатели искомого плана делятся на "жесткие", выполнение которых обязательно, и "желательные", к выполнению которых нужно стремиться. Жесткие показатели формализуются в виде ограничений, а "желательные" — в виде критериев опти-
148
мальности.
Задача объёмно-календарного планирования для нефтеперерабатывающих предприятий [8].
Рассматривается производственная система, которая из сырья, используя различные технологические установки, производит готовую продукцию. Сырье через ёмкости поступает на технологические установки. На технологических установках, под воздействием технологических режимов, сырьё перерабатывается в продукты производства. Готовые продукты производства поступают в ёмкости для готовой продукции, а затем потребителям готовой продукции. Заданы ограничения на объёмы ёмкостей и ограничения на производительности технологических установок. Требуется найти план производства готовой продукции, обеспечивающий эффективное функционирование предприятия.
Задача распределения мощностей каналов передачи данных [7].
Необходимо распределять ограниченные мощности каналов передачи данных между различными узлами сети городских провайдеров. Известны потребности абонентов сети в получении того или иного количества информации, возможности провайдеров в предоставлении каналов той или иной мощности между различными узлами связи. С учетом этих возможностей заданы пожелания (предпочтения) абонентов и провайдеров относительно возможности передачи того или иного количества информации тому или иному абоненту или узлу. Определены условия признания эффективности того или иного распределения каналов (относительно их пропускной способности). Требуется распределить пропускную способность каналов максимально эффективно, учитывая как потребности и предпочтения абонентов, так и возможности провайдеров.
В задачах подобного рода особый интерес представляет принятие решений в случае, когда математическая модель, формализующая реальный объект, оказывается несовместной.
Математическая модель потоков в сети представляет собой систему линейных алгебраических неравенств транспортного ти-
149
па. В [3, 4, 11] рассматриваются задачи чебышевского приближения систем линейных неравенств и систем линейных уравнений; обсуждаются вопросы, связанные с мерой несовместности. Для заданной нормы || ■ ||р, 1 ^ р ^ ж , в [17] рассматривается задача поиска наилучшего приближения несовместной системы линейных уравнений, которая при р = ж, совпадает с задачей чебышевского приближения систем линейных уравнений. Обзор результатов оптимального преобразования несовместных систем линейных неравенств приведен в [19]. Вопросы построения минимальной несовместной подсистемы и максимальной совместной подсистемы обсуждаются в работах [14] и [13], соответственно.
Ряд работ посвящен исследованию несовместных сетевых потоковых моделей. Так, в [18] приводится обзор результатов исследования задачи поиска "наименее" несовместных потоков для различных мер несовместности. Как известно, проблема поиска потока в сети сводится к поиску максимального потока, величина которого определяется величиной минимального разреза и служит критерием несовместности исходной сети. В [12] рассматривается задача поиска разреза минимальной мощности, являющегося причиной несовместности сети.
В данной работе исследуется проблема поиска потока в несовместной сети с двусторонними пропускными способностями дуг и нулевыми балансными ограничениями. Как уже отмечалось, подобного рода модели возникают, например, при решении задач распределения ресурсов в иерархических системах транспортного типа. При этом ограничения баланса в вершинах описывают структуру иерархической системы, тогда как ограничения на пропускные способности определяют допустимые объемы производства, потребления или передачи ресурсов. Реальные объекты (предприятия, магистрали газопровода, вычислительные системы и др.), для которых актуальны подобного рода задачи, имеют иерархическую структуру, изменение которой часто является невозможной для самих объектов. Изменение же ряда ограничений на допустимые объемы ресурсов оказываются возможными,
150
но связаны с затратами (привлечение дополнительных мощностей, модификация оборудования и др.). Таким образом, в случае несовместности сетевой потоковой модели возникает задача поиска потока, удовлетворяющего балансным ограничениям и минимизирующего штрафы за изменения пропускных способностей дуг.
В работе доказывается сводимость рассматриваемой задачи поиска потока в несовместной сети с п вершинами и т дугами к задаче поиска потока минимальной стоимости с 0(п + т) вершинами и О(т) дугами. На основании данной сводимости предлагается алгоритм решения рассматриваемой задачи с вычислительной сложностью 0((п + т)3 ^2(п + т)). Для специального случая древовидной структуры сети строится алгоритм решения задачи, основанный на методе приведенных границ [7], с вычислительной сложностью 0(п2).
1. Поиск допустимого потока
Пусть С = (V, А) - ориентированный граф без петель, А С V2, IV| = п, |А| = т. Обозначим через , инижнюю и верхнюю пропускные способности дуги (1,]), соответственно,
0 ^ 1гу ^ игу; - величину потока, проходящего через дугу
(г,]), (г,.]) € А. Тогда проблема поиска потока в транспортной сети заключается в определении величин Жу, (г,]) € А, для которых выполняются условия:
(1) ^ ^ ° г € V;
Ш)£А (гу)еА
(2) ^ ^ игу, (г, ]) € А*
Здесь условия (1) - балансные ограничения в вершинах, условия
(2) - двусторонние ограничения на пропускные способности дуг. В некоторых приложениях возникают задачи поиска потока с двусторонними балансными ограничениями в вершинах. Обозначив через аг, Ьг нижнюю и верхнюю границы баланса в вершине г,
151
аг ^ Ьг, г € V, получим следующую систему линейных неравенств:
(3) аг ^ ^ ^ ^ Хгу ^ Ьг, Ъ € V
(У,г)еА (г,У)€А
Тогда проблема поиска потока будет заключаться в определении величин Хгу, (г, ]) € А, удовлетворяющих системе ограничений
(2), (3). Однако, так как система ограничений (2), (3) сводится к системе (1), (2) (см., например, [10]), в дальнейшем при исследовании проблемы поиска потока в несовместной сети мы будем рассматривать модель потоков в постановке (1), (2).
Исследование совместности системы ограничений (1), (2), как известно (см., например, [10]), сводится к поиску максимального потока в сети с односторонними пропускными способностями. Вычислительная сложность алгоритма проверки совместности сетевой модели, описываемой системой (1), (2), а также алгоритма поиска допустимого потока, совпадает с вычислительной сложностью поиска максимального потока в сети с О(п) вершинами и 0(п + т) дугами. Обзор алгоритмов поиска максимального потока в сети приведен в работе [16].
Особый интерес представляет случай корневой древовидной структуры сети. Пусть граф С = (V, А) является корневым ориентированным деревом. Среди множества вершин дерева выделена специальная вершина в - корень дерева, в € V, и подмножество Т - множество листьев, Т С V. Обозначим через п(г) вершину, непосредственно предшествующую вершине г, г € V \ {в}. Балансные ограничения в данной постановке принимают следующий вид:
(4) Хж(г)г — ^ Жу =0, г € V \ (Т и {в}).
(г,з)еА
Проблема поиска потока в древовидной сети заключается в определении величин Жгу, (г,]) € А, удовлетворяющих системе ограничений (2), (4).
Приведем более удобную постановку модели (2), (4), которую в дальнейшем будем применять при исследовании древо-
152
видного случая. Для вершины г, г € А, определим нижнюю и верхнюю пропускные способности вершины через Ьг = 1п(г)г,
Цг — г € V \ {в}; Ь8 — ^8], Ц8 — и8]. Пусть
(«,У)еА (в,])еА
Хг = Жп(г)г,г € V \ {в}; Хв = ^ Хв]. Тогда система (2), (4)
]|п(]) = 8
приводится к виду
(5) X = ^ X], г € V \ Т;
]|п(])=г
(6) Ьг < Хг < Цг, г € V.
В работе [7] был разработан метод приведенных границ исследования совместности системы (5), (6). Метод основан на рекуррентных соотношениях построения приведенных границ системы (5), (6), определяющих ее совместность. Вычислительная сложность метода 0(п).
2. Постановки задач
2.1. Общий случай
Пусть сетевая потоковая модель несовместна. Известно подмножество дуг, для которых разрешены изменения величин нижних и (или) верхних пропускных способностей. Заданы штрафы за изменения пропускных способностей сети. Тогда содержательно рассматриваемая задача заключается в определении потока, удовлетворяющего балансным ограничениям и минимизирующего суммарный штраф за изменения пропускных способностей.
Введем вспомогательные обозначения. Пусть Ь|у, Ь] - параметры, определяющие дуги, для которых разрешены изменения пропускных способностей; так, Ьгу (Ь]) равно 1, если для дуги (г,]) разрешено изменение нижней (верхней) пропускной способности, и равно 0 в противном случае, Ь|у-, Ь] € {0,1}, (г,]) € А; , егу - штрафы за изменение на единицу нижней
и верхней пропускных способностей дуги (г,]), соответственно,
153
, егу > 0, (г,]) € А; ргу, дгу - искомые величины, на которые будут изменены нижняя и верхняя пропускные способности дуги (г,]), соответственно, (г,]) € А.
Пусть система (1), (2) несовместна. Тогда задача поиска потока в несовместной сети заключается в определении величин Ж], р], , (г,]) € А, являющихся решением следующей задачи
линейного программирования:
(7) ^ ' Ж]г ^ ' Жг] — ° г € V;
С?,г)еА (г,])€А
(8) ^г] — рг]Ьг] ^ Жг] ^ иг] + <?г]Ь], (г, ]) € А;
(9) Жг],Рг],5г] ^ 0, (г,]) € А;
(10) /(р,5)= ^2 ((ктзЪ1ц + ег]Ь]) ^ т1п
(г,])€А
В целочисленном случае при поиске потока в несовместной сети дополнительно требуется выполнения условия целочислен-ности переменных:
(11) Жг],Рг],5г] € £+, (г,]) € А;
Задача при этом ставится как задача целочисленного линейного программирования (7)-(8), (11), (10).
2.2. Случай корневой древовидной сети
Предполагается заданной структура сети, верхняя пропускная способность корня Ц8 ^ 0. Пропускные способности остальных вершин определяются с использованием следующих рекуррентных соотношений: Ьр = Ьг, Цгр = Цг, г € Т; Ьр =
](])=г ] г € \ Т; ЦГ = Е]|п(])=г ] V \ (Т и {в})- На
основании теоремы о приведенных границах [7] система (5), (6) совместна тогда и только тогда, когда ^ Ц8.
Подобные задачи возникают, например, когда распределяется однородный ресурс в древовидной иерархической системе
154
заданной структуры, в которой известен максимально возможный объем распределяемого ресурса (верхняя пропускная способность корня) и интервальные потребности потребителей ресурса (верхние и нижние пропускные способности листьев). Необходимо определить пропускные способности промежуточных вершин (передающих элементов системы) и, в случае несовместности системы, изменить пропускные способности элементов с наименьшими затратами.
Пусть ^ - штраф за изменение на единицу нижней пропускной способности вершины І, ^ > 0, І Є V; Рг - величина, на которую будет уменьшена нижняя пропускная способность вершины І, І Є V. Пусть система (5), (6) несовместна. Задача поиска потока в рассматриваемой несовместной древовидной сети заключается в определении величин Хг, Рг, І Є V, являющихся решением следующей задачи линейного программирования:
(12) X = Е X,, І Є V \ Т;
(13) Р? - Р < X < ир, І Є V\{5};
(14) Р? - Р8 < х8 < и;
(15) Х,Р ^ 0, І Є V
(16) F (Р) = Е РгРг ^ ШІП
гЄ V
Замечание 1. В подобных задачах могут быть заданы не максимально возможные объемы распределяемого ресурса, а Р8
- минимально возможные объемы. Тогда система (5), (6) будет совместна тогда и только тогда, когда Р8 ^ Е,|п(,)=5 ир.
3. Алгоритмы решения
3.1. Общий случай
Предлагаемый в работе алгоритм решения задачи поиска потока в несовместной сети основан на ее сводимости к вспомога-
155
тельной задаче поиска потока минимальной стоимости. При доказательстве сводимости в данном разделе приводится схема построения вспомогательной задачи и устанавливается связь между решениями рассматриваемых задач.
Проведем доказательство для частного случая задачи поиска потока в несовместной сети, когда изменения нижней и верхней пропускной способности разрешены для всех дуг сети. В рамках данного раздела будем предполагать, что Ь-], Ь] = 1, (г,]) € А. Далее будет показано, как обобщить предлагаемый алгоритм на случай, когда часть параметров Ь-], Ь] могут принимать нулевые значения.
Решение задачи (7)-(10) поиска потока в несовместной сети обладает следующими свойствами:
Лемма 1. Пусть ж], р*, 5*, (г,]) € А, - решение задачи (7)-(10). Тогда для каждой из дуг (г,]), (г,]) € А, выполняются следующие условия:
a) если 1-] ^ ж] ^ иг], то р* = 0, 5* = 0;
b) если ж] < 1г], то р* = 1г] - ж] , 5* = 0;
c) если иг] < ж], то р] = 0, 5* = ж] - и-];
Ф р] < .
Доказательство.
a) Доказательство от противного. Предположим, что выпол-
няются условия леммы, но существует дуга (г',]'), (г',]') € А, что 1г,]/ ^ ж*,], ^ иг/]/ и р*,], = 0 . Тогда из условия (9) следует, что р*,], > 0. Рассмотрим набор значений ж-] = ж] , = 5*,
(г,]) € А; р-] = р], (г,]) € А\ {(г',]')}; р] = 0. Легко увидеть, что построенный набор значений удовлетворяет системе ограничений (7)-(9) и /(р',^') < /(р*,5 *), что противоречит условию леммы. Таким образом, предположение неверно. Случай, когда 1] ^ ж*], ^ иг,], и 5*,], = 0 рассматривается по аналогии.
b) Доказательство от противного. Предположим, что выполняются условия леммы, но существует дуга (г', ]'), (г', ]') € А, что ж*,], < 1-,], и р*,], = 1-,], - ж*,], . Тогда из условия (8) следует, что 1] — ж*], < р*,], . Построим набор значений ж] = ж], д] = 5*, (г,]) € А; р] = р], (г,]) € А \ {(г',]')}; р] = /г] - х*,],.
156
Легко увидеть, что построенный набор значений удовлетворяет системе ограничений (7)-(9). Но так как р] > р-,], то /(р',9') ^ /(р *,5 *), что противоречит условию леммы. Таким образом, предположение неверно. Случай, когда ж*], < 1г], и 5*,], = 0 рассматривается по аналогии с пунктом (а).
с) Доказательство аналогично доказательству в пункте (Ь). ё) Доказательство от противного. Предположим, что выполняются условия леммы, но существует дуга (г',]'), (г',]') € А, что р*,], > 1г,],. Рассмотрим набор значений ж-] = ж] , = 5*,
(г,]) € А; р-] = р*, (г,]) € А \ {(г',]')}; р] = ] Легко увидеть, что построенный набор значений удовлетворяет системе ограничений (7)-(9) и /(р',^') < /(р *,5 *), что противоречит условию леммы. Таким образом, предположение неверно. Лемма доказана.
Далее введем для каждой из дуг (г,]), (г,]) € А, вспомогательные переменные у], , ш-, которые будем интерпретиро-
вать следующим образом. Для заданного ориентированного графа О = (V, А) рассмотрим вспомогательный ориентированный мультиграф с множеством вершин V, в котором для каждой из дуг (г,]), (г,]) € А, заданного графа строятся (см. рис. 1)
- две мультидуги из вершины г в вершину ], поток вдоль которых обозначается через уг], 2] соответственно;
- обратная дуга из вершины ] в вершину г, поток вдоль которых обозначается через Ш]г.
Построенный мультиграф будет определять сеть, в которой
- нижняя и верхняя пропускные способности дуги, связанной с переменной у-], составляют 1-] и и-] соответственно, стоимость дуги равна 0;
- нижняя и верхняя пропускные способности дуги, связанной с переменной Ш]г, составляют 0 и 1-] соответственно, стоимость дуги равна ;
Рис. 1.
- дуга, связанная с переменной , имеет нулевую нижнюю и неограниченную верхнюю пропускные способности, стоимость дуги равна ег].
Отметим, что в построенной сети, определяемой мультиграфом, величина входящего в вершину г, г € V, потока составляет
ш]г + (^]г + у]г);
(г,])€А С?,г)еА
величина исходящего из вершины г потока составляет
ад,
г,-
(г,,)ЄА
0М)ЄА
Далее рассмотрим вспомогательную задачу поиска потока минимальной стоимости в построенной сети, определяемой мультиграфом:
(17) I] + I] (, + у,г)
(г,,) Є А (,,г)єА
Е (гч + Уг,) - ^ = 0, І Є V;
(г,,)ЄА
(,,г)ЄА
(18) ^г] ^ уг] ^ иг], (г, ]) € А;
(19) Ш]г ^ 1г], (г,]) € А;
(20) Уг],%',Ш]г ^ 0, (г,]) € А;
(21) д(г,ш) = ^ е-]г-] + ^^ ш1п.
(г,])€А
Решение задачи (17)-(21) поиска потока минимальной стоимости в построенной сети обладает следующими свойствами: Лемма 2. Пусть у], г], ш*г, (г,]) € А , - решение задачи
(17)-(21). Тогда ш*г ■ г* = 0, (г,]) € А.
Доказательство. Доказательство от противного. Предположим, что выполняются условия леммы, но существует дуга (г', ]'), (г', ]') € А, что ш*,г, =0 и г*,], = 0. Тогда из условия (20) следует, что ш*,г, > 0, г*,], > 0. Рассмотрим цикл, образуемый парой дуг, связанных с переменными ш*,г, и г*],. Пусть А = тт(ш*,г,, г*],), по предположению А > 0. Уменьшим поток вдоль рассматриваемого цикла на величину А. Т.е. рассмотрим набор значений
у] = у*, (г,]) € А; 4 = 4, ш]г = ] (г,]) € А \ {(г',]')};
ш],г, = ш*,г, - А, г-,], = г*,], - А. Легко увидеть, что построенный набор значений удовлетворяет системе ограничений (17)-(20) и д(г',ш') < д(г *,ш *), что противоречит условию леммы. Таким образом, предположение неверно. Лемма доказана.
Покажем теперь, что задача (7)-(10) поиска потока в несовместной сети сводится к вспомогательной задаче (17)-(21) поиска потока минимальной стоимости.
Лемма 3. Пусть ж*, р*, 5*, (г,]) € А, - решение задачи (7)-(10), тогда набор значений у-] = ж* + р* - 5*, г-] = ,
Ш]г = р*, (г,]) € А, является решением системы ограничений
(17)-(20), и при этом д(г,ш) = /(р *,5 *).
Доказательство. Пусть выполняются условия леммы. Тогда рассмотрим набор значений у-] = ж* + р* - 5*, г] = 5*, Ш] = р*, (г,]) € А. Подставим данные значения в ограничения (17)-(20).
Рассмотрим ограничение (17) для вершины г, г € V:
^ ш]г + ^ (] + у]г) - ^ (гг] + у-]) - ^ шг] = (г,])€А (],г)еА (г,])€А (],г)е А
= Е р] + Е (5*г + (х*г + р*г - 5*г)) —
(г,])еА (],г)€А
- Е (5* + (Х] + р] - 4')) - Е р*г =
(г,])€А С?,г)еА
= Е Х* - - Е Х] =0.
(],г)€А (г,])€А
Таким образом, ограничение (17) выполняется.
Далее рассмотрим ограничение (18) для дуги (г, ]), (г, ]) € А:
- если 1] ^ ж] ^ иг], то из пункта (а) Леммы 1 следует,
что р* = 0, 5* = 0, тогда уг] = ж] и ограничение (18)
выполняется;
- если Ж] < 1*], то из пункта (Ь) Леммы 1 следует, что р] = 1-] - ж] , 5] = 0, тогда у-] = 1-] и ограничение (18) выполняется;
- если иг] < ж] , то из пункта (с) Леммы 1 следует, что
р* = 0, 5*] = ж] - и-], тогда у-] = и-] и ограничение
(18) выполняется.
Выполнимость ограничения (19) автоматически следует из пункта (ё) Леммы 1.
Рассмотрим ограничение (20). Неотрицательность величин г], Ш]г, (г,]) € А, непосредственно следует из условия (9). Величины у-], (г,]) € А, являются неотрицательными, так как для них выполняются условия (18).
160
Наконец рассмотрим значение целевой функции (21):
д(г,ш)= Е (е-]^Ш]-) =
(-,])€ А
= Е (ег] 5] + ^г] р] ) = / (р *^ * ).
(г,])€А
Лемма доказана.
Лемма 4. Пусть у], г], ш*г, (г,]) € А, - решение задачи
(17)-(21), тогда набор значений Ж] = у] + г] - ш*г, рг] = ш*г, 5] = г], (г,]) € А, является решением системы ограничений (7)-(9), и при этом /(р, 5) = д(г *, ш *).
Доказательство. Пусть выполняются условия леммы. Тогда рассмотрим набор значений хг] = у] + г] - ш*г, рг] = ш*г,
5] = г], (г,]) € А. Подставим данные значения в ограничения
(7)-(9).
Рассмотрим ограничение (7) для вершины г, г € V:
Е Х]г - Е Хг] = Е (у*г + 4 - )-
(],г)€А (г,])€А (],г)еА
- Е (уг] + - Ш*г) = Е Ш]г + Е ^ + у]г)-
(г,])€А (г,])€А (],г)еА
- Е (г-] + уг]) - Е Шг] = °.
(г,])€А (],г)€А
Таким образом, ограничение (7) выполняется.
Далее рассмотрим ограничение (8) для дуги (г,]), (г,]) € А. Из Леммы 2 следует, что для каждой из таких дуг выполняется хотя бы одно из двух условий: 2] = 0 или Ш]- = 0. Из ограничения
(18) следует, что
- если 4 = а то ^ - р-] = ^ - ш*г < у] - Ш*г = Хг] <
^ иг] - ш*г ^ иг] = иг] + 5], таким образом, ограничение
(8) выполняется;
- если ш*г = 0, то 1г] - рг] = 1г] ^ 1-] + г* ^ у] + г] = Хг] ^ ^ иг] + г] = иг] + 5], таким образом, ограничение (8) выполняется.
Рассмотрим ограничение (9). Воспользуемся здесь также Леммой 2. Тогда
- если г] = 0, то Ж] = у*] - ш*г и из условий (19) и (20) следует, что Ж] ^ 0;
- если ш*г = 0, то Хг] = у* + г*, и из условия (20) следует, что ж* ^ 0.
Неотрицательность величин р*, 5*, (г,]) € А, непосредственно следует из условия (20). Таким образом, ограничение (9) выполняется.
Наконец рассмотрим значение целевой функции (10):
/ (р ^ = Е (ег] 5г] + ^рг]) =
(г,])€А
= Е (е-] 4' + ^г] ш*г) = #(г *,ш * ).
(г,])€А
Лемма доказана.
Теорема 1. Пусть у], г], ш*г, (г,]) € А, - решение задачи (17)-(21), тогда набор значений ж* = у] + г] - ш*г, р* = ш*г, 5] = г], (г,]) € А, является решением задачи (7)-(10).
Доказательство. Доказательство от противного. Пусть выполняются условия Теоремы, но набор значений ж* = у] + г] -ш*г, рг] = ш*г, 5] = г], (г,]) € А, не является решением задачи (7)-(10). Из Леммы 4 следует, что построенный набор значений
162
является решением системы (7)-(9) и f (p, q) = g(z *,w *). Пусть xj, pj, , (i, j) G A - решение задачи (7)-(10), следовательно
f (p *, q *) < f (p, q). Тогда из Леммы 3 следует, что можно построить набор значений yj, zj, wj^, (i, j) G A, являющийся решением системы (17)-(20), и при этом g(z',w') = f(p *,q *). Тогда g(z'w') = f (p*, q *) < f (p, q) = g(z *, w *), что противоречит условию Леммы. Таким образом, предположение неверно. Теорема доказана.
Теорема 1 позволяет предложить алгоритм решения задачи
(7)-(10) поиска потока в несовместной транспортной сети, основанный на решении соответствующей задачи поиска потока минимальной стоимости (17)-(21). При решении задачи поиска потока минимальной стоимости можно воспользоваться известными методами (обзор методов приведен, например, в работе [15]). Отметим, что транспортная сеть, связанная с задачей (17)-(21), содержит обратные дуги и мультидуги. Для большинства потоковых алгоритмов предполагается отсутствие обратных дуг и мультидуг сети. Преобразуем рассматриваемую транспортную сеть: для всех обратных дуг и мультидуг произведем операцию подразбиения -заменим каждую из соответствующих дуг на две последовательных дуги. Таким образом, мы приходим к задаче поиска потока минимальной стоимости в сети, содержащей O(n + m) вершин и O(m) дуг. Обозначим через <^(n;, m/) вычислительную сложность алгоритма решения задачи поиска потока минимальной стоимости в транспортной сети с П вершинами и т' дугами. Тогда на основании Теоремы 1 можно сформулировать следующее утверждение:
Утверждение 1. Существует алгоритм решения задачи (7)-(10) с вычислительной сложностью O(^(O(n + m), O(m))).
Применим к решению задачи поиска потока минимальной стоимости, например, сильнополиномиальный алгоритм Галиля и Тардош [15]. Для данного алгоритма ^>(п/т/) = O(n/3(logп/)(т/ + П logп')). Отсюда сформулируем следующее утверждение:
Утверждение 2. Существует алгоритм решения задачи (7)-
163
(10) с вычислительной сложностью O((n + m)3 log2(n + m))
В целочисленном случае задача поиска потока в несовместной сети ставится как задача целочисленного линейного программирования (7)-(8), (11), (10). Из построения следует
Утверждение 3. Матрицы систем ограничений (7)-(9) и
(17)-(21) абсолютно унимодулярны.
Таким образом, исходя из Теоремы 1, при целочисленных исходных данных задачи (7)-(10) предлагаемый подход гарантирует нахождение целочисленного решения.
Замечание 2. В случае, когда часть параметров bj, bj может принимать нулевые значения, необходимо модифицировать схему построения вспомогательной сети, определяемой мультиграфом. Для каждой из дуг (i, j) исходного графа G введем дуги мультиграфа, связанные с переменными
- yj, Zj и Wji, если bj = bj = 1;
- yj и wji, если bj = 1, bj = 0;
- yj и Zj, если bj = 0, bj = 1;
- yj, если bj = ° bj = °.
Поток минимальной стоимости в модифицированной сети будет определять решение рассматриваемой задачи поиска потока в несовместной сети.
3.2. Случай древовидной сети
Рассмотрим случай древовидной структуры исходной сети. Алгоритм решения задачи (12)-(16) включает в себя следующие шаги:
1) Найти все пути от корня до листьев с ненулевыми нижними границами.
164
2) Для каждого пути определить величину суммарных затрат на уменьшение на единицу нижних пропускных способностей всех вершин, входящих в этот путь.
3) Упорядочить найденные пути по невозрастанию суммарных затрат, найденных на шаге 2: ^, ^2, ..., |, |Н| ^ |Т|.
4) Присвоить і := 1.
5) Уменьшить нижние пропускные способности вершин пу-
ти от корня до листа, соответствующего пути с номером і, на величину Лі = тіп(Ь^, А), где к - номер листа, которому соответствует путь ^, а А = — и8.
6) Уменьшить А на величину ^. Если А > 0, то присвоить
і := і + 1 и перейти на шаг 5. В противном случае задача решена, и полученная сеть станет совместной.
Вычислительная сложность алгоритма 0(п2).
Очевидно, что предложенный алгоритм легко преобразуется в алгоритм решения задачи, описанной в Замечании 1.
4. Выводы и практические рекомендации
Предложенный подход к исследованию несовместных транспортных сетей позволяет для широкого класса практически важных прикладных задач применять хорошо разработанные эффективные потоковые алгоритмы. Несовместность сети означает, что при заданных ее характеристиках невозможно найти решение задачи, и тем самым невозможно выполнить принятые обязательства без изменения исходных параметров. Такие изменения, как правило, требуют существенных затрат: для задачи планирования транспорта газа - увеличение пропускных способностей отдельных участков газопровода, установка на компрессорных станциях дополнительных газоперекачивающих агрегатов; для задач объемно-календарного планирования - увеличение производственных мощностей, необходимых для выполнения плановых обязательств; для задачи распределения мощностей каналов передачи данных - изменение пропускных способностей каналов связи. Методы решения задач, предложенные в данной работе, позволяют минимизировать такие затраты. Решение конкретных
165
производственных задач может быть осуществлено по предложенной в данной работе методике, используя стандартные пакеты программ поиска потока минимальной стоимости. Информацию о потоковых алгоритмах и программных продуктах можно получить, например, на интернет-сайте [20].
Литература
1. АФРАЙМОВИЧ Л. Г., ПРИЛУЦКИЙ М. Х. Многоиндексные задачи распределения ресурсов в иерархических системах // Автоматика и телемеханика. - 2006. - №6. -С. 194-205.
2. АФРАЙМОВИЧ Л. Г., ПРИЛУЦКИЙ М. Х. Многопродуктовые потоки в древовидных сетях // Известия РАН. Теория и системы управления. - 2008. - №2. - С. 57-63.
3. ЕРЕМИН И. И. О несовместных системах линейных неравенств // ДАН. СССР. - 1961. - №6. - С. 1280-1283.
4. ЗУХОВИЦКИЙ С. И., АВДЕЕВА Л. И. Линейное и выпуклое программирование. - М.: Наука. Гл. ред. физ-мат. лит., 1967.
5. ПРИЛУЦКИЙ М. Х. Многоиндексные задачи объёмнокалендарного планирования транспортного типа // Труды международной конференции "Идентификация систем и задачи управления 81СРЯ0-06". - М.: Институт проблем управления им. В. А. Трапезникова РАН, 2006. - С. 503510.
6. ПРИЛУЦКИЙ М. Х. Многокритериальные многоиндексные задачи объёмно-календарного планирования // Известия академии наук. Теория и системы управления. - 2007.
- №1. - С. 78-82.
7. ПРИЛУЦКИЙ М. Х. Распределение однородного ресурса в иерархических системах древовидной структуры // Труды международной конференции "Идентификация систем и задачи управления 81СРЯ0 2000". - М: Институт проблем управления им. В. А. Трапезникова РАН, 2000. - С. 20382049.
8. ПРИЛУЦКИЙ М.Х., КОСТЮКОВ В.Е. Оптимизационные задачи объемно-календарного планирования для нефтеперерабатывающих предприятий // Системы управления и информационные технологии. - 2007. - №2.1(28). -C. 188-192.
9. ПРИЛУЦКИЙ М. Х., КОСТЮКОВ В. Е. Оптимизационные задачи планирования транспортировки газа // Информационные технологии и вычислительные системы. -2008. - №2. - С. 57-63.
10. ФОРД Л.,ФАЛКЕРСОН Д. Потоки в сетях. - М.: Наука. Гл. ред. физ-мат. лит., 1968.
11. ЧЕРНИКОВ С. Н. Линейные неравенства. - М.: Мир, 1966.
12. AGGARWAL C., AHUJA R.K., HAO J., ORLIN J.B.
Diagnosing infeasibilities in network flow problems // Mathematical Programming. - 1998. - V. 81., №3. - P. 263280.
13. AMALDIE., PFETSCH M. E., LESLIE E. T. On the maximum feasible subsystem problem, IlSs and IlS-hypergraphs // Mathematical Programming. - 2003. - V. 95, №3. - P. 533554.
14. CHINNECK J.W., DRAVNIEKS E.R. Locating minimal infeasible constraint sets in linear programs // ORSA Journal on Computing. - 1991. - V. 3, №3. - P. 157-168.
15. GALIL Z., TARDOS E. An mincostflow algorithm // Journal of the ACM. - 1988. - V. 35, №2. - P. 374-386.
16. GOLDBERG A.V., RAO S. Beyond the flow decomposition barrier // Journal of the ACM. - 1998. - V. 45, №5. - P. 783797.
17. KAMPKE T. The geometry of linear infeasibility // Applied Mathematics and Computation. - 2002. - V. 129, №2-3. -P. 317-337.
18. MCCORMICK S. T. How to compute least infeasible flows // Mathematical Programming. - 1997. - V. 78, №2. - P. 179194.
19. MURTY K.G., KABADI S.N., CHANDRASEKARAN R.
Infeasibility analysis for linear systems, a survey // Arabian Journal of Science and Technology. - 2000. - V. 2З. - P. 3-18.
20. http://www.avglab.com/andrew/
FLOW SEARCH IN INFEASIBLE NETWORKS
Lev Afraimovich, Nizhny Novgorod State University, Nizhny Novgorod, Cand.Sc., senior lecturer ([email protected]). Mikhail Prilutskii, Nizhny Novgorod State University, Nizhny Novgorod, Doctor of Science, professor ([email protected]).
Abstract: The paper covers the problem of finding flow in infeasible transport type network with two-side arc capacities. Minimization problem ofoverall penalty for capacities modification was considered while investigating of infeasible network flow models. Proposed algorithm of solving the considered problem is based on reduction to min-cost network flow problem. In the case of tree-like network algorithm of solving the considered problem based on bounds reduction method is proposed.
Keywords: resource allocation problems, hierarchical transport type systems, network flows, infeasible linear inequality systems.
Статья представлена к публикации членом редакционной коллегии А.Г. Чхартишвили
1б8