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

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

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

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

Добавлен: 15.10.2024

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

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

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

12.4. r-РАЗДЕЛЯЮЩЕЕ МНОЖЕСТВО

279

Л емма 12.1. Пусть Pip2 и Ч\Чг два отрезка, каждый из кото­ рых имеет длину, не большую чем г, и пусть р точка их пере­

сечения.

(Другими

словами, Pip2 и

дщ2 диагонали некоторого,

четырехугольника.)

Тогда найдется

вершина

четырехугольника

,, р 2,

qA

или q2), у которой обе инцидентные ей стороны имеют

длину, не большую чем г.

 

таких точек, что

Пусть

рь р2, . . . , р ,i — последовательность

р (р,-, p i+l) s^r. Тогда говорят, что

последовательность отрезков

PiP2, р2рз,

■. . образует r-связывающую цепь.

Такая г-связываю-

щая цепь

называется простой, если каждая

вершина р, (кроме

Pi и рп)

принадлежит двум звеньям— Pi-iPi

и р,Рг+ь а всякая

другая

точка отрезка принадлежит только одному звену.

Л емма 12.3. Если существует г-связывающая цепь, то суще­ ствует и простая r-связывающая цепь.

Теорема 12.3. Если С неприводимое r-разделяющее множе­ ство, то R 2 С = А \] В (другими словами, множество D пусто).

Заметим, что теорема 12.3 очень похожа на известную теорему Жордана о замкнутой кривой, согласно которой всякая простая (не имеющая самопересечений) замкнутая кривая С разделяет точки плоскости В 2, не принадлежащие С, на такие два открытых

множества А и В, что любая пара точек в каждом из этих мно­ жеств может быть связана кривой, не пересекающейся с С. Соглас­ но теореме 12.3, всякое неприводимое г-разделяющее множество С г-разделяет плоскость В 2на такие_два открытых множества А и,В, что любая пара точек в каждом из этих множеств может быть г-связана йепыо, не имеющей общих точек с С.

Каждое из множеств А, В может состоять из нескольких односвязных открытых множеств, называемых компонентами мно­ жества А или В.

Т еорема 12.4. Каждая компонента множества А или В равно­ мерно локально связна, а граница каждой из компонент является простой кривой Жордана.

Таким образом, граница множества С является объединением простых кривых Жордана. Можно показать, что любое множество С состоит из частей следующих двух типов. Части 1-го типа — полосы ширины г (как полосы С4 и С2 на рис. 12.6). Части 2-го

типа — выпуклые многоугольники с четным числом сторон, длина каждой из которых равна г (как у многоугольника Р на рис. 12.6). Для наглядности можно представлять себе, что неприводимое множество С, частями которого является С), С2, Р, имеет вид самопересекагощейся полосы, а многоугольник Р — это как раз


280 ГЛ. 12. ПОТОКИ В НЕПРЕРЫВНОЙ СРЕДЕ

область самопересечения, добавление которой (один раз) к мно­ жествам Ci и С2 не нарушает свойства неприводимости множе­

ства С . Любое множество С является объединением множеств указанных двух типов.

Если весовая функция w (х, у) произвольна, то любое непри­ водимое r-разделяющее множество легко можно сделать разде­ ляющим множеством с минимальным весом, положив w (х, у) = г

• а

2

в этом неприводимом множестве, а за его пределами взяв w (х, у) достаточно большим.

Заметим; что на рис. 12.6 длйна отрезка р 2Рь меньше г. Поэтому области A i vi А 2 r-связаны с точкой а и А A t [J А 2. Множество

точек В, r-связанных с точкой Ь, состоит из точек, заключенных внутри полосы. Полоса, изображенная на рис. 12.6, будет обла­ дать минимальным весом, если весовая функция достаточно велика в Л и Л, и мала внутри полосы. На рис. 12.7 изображено другое неприводимое множество, r-разделяющее точки' а и б.

12.4. r-РАЗДЕЛЯЮЩЕЕ МНОЖЕСТВО

281

Возникает вопрос: какое из 2-х множеств,

изображенных

на рис. 12.6 и 12.7, обладает минимальным весом? Это зависит от того, что меньше — вес полосы на рис. 1 2 .6 , заключенной меж­

ду отрезками pip4 и р 3р4, или вес области Pip4p 3p4 на рис. 12.7.

Обозначим через Q* площадь полосы, заключенной между отрез­

ками ptPi и p 3p t

на

рис. 12.6, а

через

Q* — площадь области

PiPiPzPi на. рис.

12.7.

Отношение

Q*/Q*

ограничено сверху, так

 

 

• а

 

 

 

 

Аг

 

 

как необходима некоторая ненулевая площадь, чтобы изогнуть

полосу между отрезками /цр4 и р 3р4. Пусть эта верхняя граница

равна ki . Обычно площадь неприводимой самопересекающейся полосы больше площади неприводимой полосы, не пересекающей себя, но общий вес первой полосы при этом не обязательно больше веса последней.' Для некоторых весовых функций, например w (х , у) = const, r-разделяющая полоса с минимальным весом должна не быть самопересекающейся. Возникает задача: найти, при каких ограничениях на весовую функцию г-разделяющая полоса с минимальным весом должна не иметь самопересечений.

Пусть — площади двух областей, имеющих непустое пересечение. Обозначим через w (Qi) и w (Q2) общие веса этих

областей. Если из условия^

следует, что w (Qz) ^ . w ((?,),.

Vl

 


282 ГД. 12. ПОТОКИ В НЕПРЕРЫВНОЙ СРЕДЕ

то полоса с минимальным весом не будет иметь самопересечений. Для того чтобы выполнялось неравенство w (Q2) ^ w (Qi), необ­

ходимо потребовать, чтобы w (х, у) ^

с, где с — некоторая поло­

жительная

константа. В

противном

случае можно

положить

w (х, у) =

0 в точках Ql: w (х, у) ф

0

в точках Q2, и тогда нару­

шится неравенство w (Q2)

^ ш (Qi).

Далее, необходимо

потребо­

вать, чтобы общий вес каждой из областей был ограничен сверху (для того, чтобы w (Q2) не было бы равно бесконечности).

Для того чтобы r-разделягощая полоса с минимальным весом

не имела

самопересечений,

достаточно,

чтобы

весовая

функция

 

 

 

 

 

w (х ,

у)

удовлетворяла

 

следую­

 

 

 

 

 

щим

ограничениям:

 

 

 

 

 

 

 

 

 

 

1 )

функция

w (х, у)

^

с,

где

 

 

 

 

 

с — положительная

константа;

 

 

 

 

 

 

2 )

функция

и> (х, у)

 

удовле­

 

 

 

 

 

творяет условию Липшица с кон­

 

 

 

 

 

стантой К;

 

 

 

 

 

 

 

 

 

 

 

 

3)

константа

К

должна

удов-

 

 

 

 

 

летворять

условию

..

,

где

 

 

 

 

 

К ф. —

 

 

 

 

 

с — положительная константа, фи­

 

 

 

 

 

гурирующая

в

ограничении

1 , а

 

 

 

 

 

г — ширина

рассматриваемой

по­

 

 

 

 

 

лосы с минимальным весом. (Заме­

 

 

 

 

 

тим,

что

при г — 0

константа

К

 

 

 

 

 

может быть как угодно большой.)

 

 

 

 

 

На рис. 12.8 более детально

 

 

 

 

 

изображена

часть самопересекаю-

 

 

 

 

 

щейся полосы, на этом же рисунке

кающейся

полосы.

 

изображена

часть

песамопересе-

Область Q* заштрихована

в одну

сторону,

а область

Q* — в

другую.

Нижняя

граница

для w (Q*) дости­

гается, если положить w

(х, у) = с на

всех точках

 

Верх=

нюю границу для w (Q*) можно получить, если

весовой функции

w (х,

у)

присвоить

максимальные

значения

во

всех

точках

QX -

'(<??

П

Qi).

 

 

 

 

 

 

 

 

 

 

 

Понятие r-разделяющей полосы можно обобщить на случай,

когда

разделяются

не две

точки, а

два

множества точек.

Так,

в§ 1 2 . 1 рассматривалась задача разделения в прямоугольной

области двух сторон S и Т. Она эквивалентна задаче г-разделения

вплоскости R 2, поскольку можно положить w (х, у) = 0 во всех точках i? 2 за пределами прямоугольной области.

Как

подсказывает интуиция, r-разделяющим множеством

в трехмерном пространстве R 3 будет некоторая поверхность тол­

щины г,

что приводит к задаче Плато.



12.4. r-РАЗДЕЛЯЮЩЕЕ МНОЖЕСТВО

283

Задача П лато заключается в нахождении поверхности наимень­ шей площади, ограниченной заданной замкнутой кривой Жор­ дана Г. С этой задачей связана другая: найти поверхность наи­ меньшей площади, граница (или часть границы) которой заранее точно не определена, а лежит в заданной трехмерной трубке. Можно определить весовую функцию w в каждой точке простран­ ства и тогда рассматривать еще одну задачу: найти поверхность, обладающую минимальным весом и ограниченную заданной зам­ кнутой кривой Жордана Г. (Здесь под весом поверхности пони­ мается интеграл от функции w по этой поверхности.)

Рассмотрим, например, задачу нахождения поверхности, обла­ дающей минимальным весом и свободной границей. Пусть Р — поверхность, топологически эквивалентная сфере. Открытую область внутри Р обозначим буквой й, й (J Р обозначим буквой

R. На поверхности Р выделим две подповерхностп: Г8 и 1\. Опре­

делим весовую функцию на й; за пределами й весовую функцию считаем равной нулю. Будем искать поверхность с минимальным весом, разделяющую Г., и Г/. Если Р — Г8 — Г( есть некоторая

кривая Г, а весовая функция является константой на й , то задача нахождения разделяющей поверхности минимального веса пре­ вращается в задачу Плато. В соответствии с нашим сетевым подходом для решения задачи пространство й 3 можно аппроксими­

ровать конечной сетью, найти поверхность с минимальным весом толщины г, а затем г надо устремить к нулю.

ГЛАВА 13

ЦИКЛИЧЕСКИЙ АЛГОРИТМ ЦЕЛОЧИСЛЕННОГО ПРОГРАММИРОВАНИЯ

13.1. Введение (Гомори [79])

Рассмотрим следующую задачу линейного программирования: максимизировать

Xq ~ $ qq

$ol$ -’l

^ 0 2 ^ 2

* • •

O'Qn'X'm

при условии

 

 

 

 

 

$'71+1—

$ п + 1 , О

^77+Ь 1^1

^тг+1, 2$"2

• • •

& п + 1 , п Х ц ,

%п+т ^

&п+т, 0

&п+т, 1^-1

ttn+m, 2*^2

 

(1)

8

п ^ т

x j > 0

( /= 1 ,

н + 1 , . . . , / г + т ).

.

Заметим, что $:„+!, . . хп+т — слабые переменные, а

.х1; . . .

хп — исходные переменные задачи (1). Если наряду

с огра­

ничениями (1 ) потребовать, чтобы все xj (j = 1 , . . ., т) были

целыми, то задача будет называться задачей целочисленного про­ граммирования. Существует большое количество задач, особенно комбинаторных, которые можно сформулировать как задачи цело­ численного программирования (см. [34], [6 ] и § 15.3).

Ограничения (1) определяют выпуклую область O A B C D в ге-мер-

ном пространстве, как показано на рис. 13.1. Узлы целочисленной решетки на рис. 13.1 изображены точками. Такие точки, рас­ положенные внутри области O A B C D , являются допустимыми

решениями задачи целочисленного программирования. Оптималь­ ные решения задачи линейного программирования всегда распола­ гаются на границе области решений. В данном случае граничные точки не являются даже допустимыми решениями, поскольку ни одна из них не целочисленна. Предположим, что область допу­ стимых решений сужена до. выпуклой оболочки допустимых целых точек внутри допустимой области. На рис. 13.1 эта выпук­ лая оболочка показана затененной областью O E F G II. Эту зате­

ненную область можно рассматривать как область допустимых решений некоторой другой задачи линейного программирования. Действительно, если к задаче линейного программирования, опре­ деляющей допустимую область O A B C D , добавить ограничение