Файл: Ху, Т. Целочисленное программирование и потоки в сетях.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 15.10.2024

Просмотров: 199

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

8.5. СВОЙСТВО АБСОЛЮТНОЙ УНИМОДУЛЯРНОСТИ

161

Следствие. Рассмотрим выпуклый многогранник С, определяе­

мый условиями Ах ^ Ь, х ^3=О, где матрица А целочисленна. Тогда

следующие три условия являются эквивалентными.

1'. Матрица А абсолютно унимодулярна.

2'. Все крайние точки многогранника С целочисленны при любом целочисленном векторе Ь.

3'. Каждая невырожденная подматрица матрицы Аобладает целочисленной обратной матрицей.

Положим А = (А, I). Можно легко доказать эквивалентность условий 1 и 1', 2 и 2', 3 и 3'. Покажем, например, что из условия 1' следует условие 1. Пусть М — произвольная невырожденная под­ матрица матрицы А, имеющая ранг т к. Тогда некоторый базис

Вматрицы А можно представить (после перестановки столбцов)

вследующем виде:

в=

О

 

N

Ь

 

где Ife — единичная матрица размера к X

к. Очевидно, det В =

= det М, и, следовательно, в силу 1' det

В = + 1 .

Аналогичными преобразованиями можно получить все осталь­ ные результаты, впервые приведенные в работе [103]. Заметим, что если хотя бы одна из матриц А, Ат, —А, (А, А) или (А, I) абсолютно унимодулярна, то этим свойством обладают и все остальные^выписанные матрицы. Более подробный материал, касающий­ ся рассмотренных преобразований, можно найти в работах [103], [199].

Чтобы проверить, обладает ли матрица А свойством абсолют­ ной унимодулярности, надо провести большую работу, если пере­ бирать все миноры матрицы А. Существуют, однако, достаточные (но не необходимые) условия абсолютной унимодулярности мат­ риц, которые проверяются гораздо легче.

Теорема 8.9. Матрица А абсолютно унимодулярна, если вы­ полняются следующие условия.

1. Каждый ее элемент равен 0, + 1 или —1.

2. Каждый ее столбец содержит не более двух ненулевых эле­ ментов *).

3. Строки матрицы А можно разбить на два непересекающихся множества /?( и Й2 таким образом, что

г) Можно показать, что если матрица А обладает свойством 2, то усло­

вия 1, За, 36 необходимы для абсолютной ушшодулярности матрицы А .—

Прим. ред.

иТ . Ху


162

ГЛ. 8. МАКСИМАЛЬНЫЙ ПОТОК

а) если столбец из А содержит два ненулевых элемента одного, знака, то один из них входит в Rt, а другой в R 2,

б) если столбец из А содержит два ненулевых элемента с про­ тивоположными знаками, то оба они входят либо в R\, либо в R 2.

Д оказательство. (Предложено Гофманом в добавлении к рабо­ те [99].) Легко видеть, что любая подматрица матрицы А в свою очередь удовлетворяет условиям теоремы. Поэтому достаточно доказать, что определитель любой квадратной матрицы, удовлет­ воряющей условиям теоремы, равен 0, -(-1 или —1. Доказатель­ ство проведем индукцией по размеру матрицы. Для матрицы размера 1 x 1 теорема выполняется согласно условию (1). Пред­ положим теперь, что теорема верна для матрицы размера (п 1 ) X,

X (п — 1), и пусть А — матрица размера п X п. Если в некото­ ром столбце все элементы равны 0, то det А = 0. Если в какомнибудь столбце матрицы А только один ненулевой элемент, то разложим определитель матрицы А по элементам этого столбца. Тогда det А = ± А ', где А' — алгебраическое дополнение нену­ левого элемента, равное 0 или ± 1 по индуктивному предположе­

нию. Остается рассмотреть случай, когда каждый столбец матри­ цы А имеет ровно два ненулевых элемента. Тогда из условий (1) —

(3) следует, что

2

аи = 2 aih 7 = 1» 2, . . ., п. Отсюда сле-

дует, что det А =

i£Hi

г£Яг

0 1). Заметим, что все рассуждения справедли­

вы и в случае, когда одно из множеств R t пусто. н

Упражнения

1. Используя метод расстановки пометок, найти максимальный поток из N s в N t в сети, изображенной на рис. 8.13. В качестве исходного потока взять xsi = xi2 = хгъ — x3t = 2 , остальные xij — 0- (Число, написанное около дуги, обозначает ее пропуск­ ную способность.)

2.Найти минимальное связывающее дерево для сети, изобра­ женной на рис. 8.13, принимая числа, указанные рядом с дугами, за их длины.

3.При доказательстве теоремы о максимальном потоке и мини­

мальном разрезе множество X определялось следующими прави­

лами :

если N t £ X

и

Хц < Ь ^ ,

то N j £X,

N s £ X,

 

если N t £ X

и

хп > / 0 ,

то N } ^X.

Дать аналогичное рекуррентное определение минимального

разреза (Y , Y), используя

некоторый максимальный поток из N s

в N t и начиная с правила Nt

6 Y.

 

х) Действительно, в этом случае строки матрицы А линейно зависимы.—

Прим. ред.



ДОПОЛНЕНИЕ

163

4. Задана сеть, содержащая ориентированные и неориентиро­ ванные дуги; величина максимального потока из N s в N t равна v. Изменится ли величина максимального потока, если заменить

каждую неориентированную дугу пропускной способности Ъ па­ рой ориентированных дуг с противоположными направлениями (причем каждая из них имеет ту же пропускную способность 6)?

Почему?

5. Задана сеть, в которой величина максимального потока из N s в N t равна v. Какова будет величина максимального пото­ ка, если в сеть добавить неориентированную дугу пропускной способности Ь? Что изменится, если дугу с пропускной способ­ ностью Ъ, наоборот, удалить из исходной сети?

Дополнение

1. При получении максимального потока с помощью метода расстановки пометок все пометки стираются после нахождения некоторого пути, увеличивающего поток. В модификации этого метода, предложенной Скоинсом [177] и Джонсоном [119], каждый узел получает 3 пометки. После нахождения некоторого пути, увеличивающего поток, стирается только одна ветвь некоторого дерева, содержащего найденный путь, увеличивающий поток. В работе Джонсона проводится также обсуждение свойств базис­ ных решений в сетевых терминах.

2.В работах Минти [151—154] подробно обсуждаются резуль­ таты, связанные с использованием потоковых задач в электриче­ ских цепях.

3.Всякая сеть может быть описана матрицей инциденций узлов по отношению к дугам. Таким образом, можно определить, что такое разрез для матрицы инциденций узлы — дуги. Рассмотрим теперь произвольную матрицу действительных чисел. Можно ли для нее определить, что такое разрез? Обобщение сетевых понятий на более абстрактные и общие системы проведено в работах Фалкер-

сона [69], Эдмондса и Фалкерсона [57].

11*

ГЛАВА 9

МНОГОПОЛЮСНЫЕ МАКСИМАЛЬНЫЕ ПОТОКИ

9Л. Постановки задач

В предыдущей главе рассматривалась задача о максимальном потоке между двумя заданными узлами сети. Все остальные узлы являлись промежуточными; в них выполнялось условие сохранения потока (в электротехнических терминах эти узлы можно рассмат­ ривать как промежуточные подстанции в линии электропередачи). В настоящей главе мы будем искать максимальные потоки между всеми парами узлов сети, т. е. каждая пара узлов может рассмат­ риваться как источник и сток, а все остальные узлы — как про­

межуточные.

Будем изучать только неориентированные сети,

т. е. такие,

в которых Ъ — Ъц для всех i, ]. Именно для таких

сетей найдены простые и красивые решения. (В работе [95] усло­ вие Ъц = Ьц заменено более слабым.)

Будут проанализированы следующие вопросы.

1. Условие реализуемости. Обозначим ч е р е з в е л и ч и н у макси­ мального потока между узлами N t и N j . (i, j = 1 , 2 , . . ., щ i Ф j).

Какая связь существует между этими величинами /^? Каковы необходимые и достаточные условия того, что множество п^п ^

чисел является множеством величин максимальных потоков / i7между всеми парами узлов в некоторой сети?

2. Анализ сети. Задана сеть с ограниченными пропускными способностями дуг. Каковы величины f tj максимальных потоков между всеми парами узлов в заданной сети? Естественно, чтобы ответить на этот вопрос, достаточно решить задачу о потоке для всех пар узлов, но, оказывается, можно обойтись более про­ стыми средствами.

3. Синтез сети. Построить сеть, в которой величины макси­ мальных потоков ftj между всеми парами узлов удовлетворяют заданным ограничениям снизу и в которой общая пропускная способность всех дуг максимальна.


9 .2 , УСЛОВИЕ РЕАЛИЗУЕМОСТИ

165

9.2.Условие реализуемости (Гомори и Ху [89])

Взаданной неориентированной сети с пропускными способно­

стями дуг btj

= bji величины максимальных потоков f tj, очевидно,

являются симметричными, т. е.

= fj t. (Для удобства положим

/ ;г = оо для всех

i.) Справедлива

следующая

теорема:

 

Т ео рем а

9.1

(теорем а о р еа ли зуем о сти ).

Для

того

чтобы

множество неотрицательных чисел fa = fSi (г,

/ =

1 , 2,

. . ., п )

являлось множеством величин максимальных потоков в некоторой сети, необходимо и достаточно, чтобы

/ife^m in (fij, fjh) (для любых г,

j, k).

(1 )

Д о к а з а т е л ь с т в о .

 

 

Необходимость. В качестве источника

возьмем узел

N t,

а в качестве стока — узел N h. Тогда по теореме о максимальном потоке и минимальном разрезе

Ы = С(Х,

X),

(2)

где N i £ X , Nk 6 X. Узел Nj принадлежит либо X,

либо X. Если

N j £ X , то (X, X) будет разрезом,

разделяющим Nj

и N k, и, сле­

довательно,

 

 

fjk<c(X, Х) = /№ .

(3)

Если же N j £ X , то (X, X) будет разрезом, разделяющим N t viNj, поэтому

f i j < c { X , X) =

f ih.

(4)

Итак, должно выполняться хотя бы одно из условий (3) — (4),

и , следовательно, f ik ^ min (/i;-, fjh).

Необходимость доказана.

Прежде чем доказывать достаточность, сделаем несколько

замечаний.

следует,

что

Из соотношения (1) по индукции

/ ln> m in (/12, h з, • • •, fn-i, п),

(5)

где N u N г, ■• ., N n — любой набор узлов рассматриваемой сети. Возьмем любые три узла в сети и рассмотрим величины макси­ мальных потоков fij, fjk, f ik между ними. (Напомним, что f tj = = fji.) Оказывается, что среди этих трех чисел по крайней мере два должны быть равны. Действительно, если бы все три числа были различны, то, поместив меньшее из них в левую часть нера­ венства (1), мы получили бы противоречие. Более того, если одно