Файл: Ху, Т. Целочисленное программирование и потоки в сетях.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), мы получили бы противоречие. Более того, если одно