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

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

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

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

Добавлен: 15.10.2024

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

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

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

ъb (mod

150

161

172

183

194

' 20 5

216

227

238

249

2510

2611

2712

2813

2914

18.1. ЗАДАЧА О РЮКЗАКЕ .

 

 

377

 

 

Таблица 18.4

 

 

 

 

 

Целочисленные

 

Периодиче­

п

Значе­

 

1=2

решения

 

ские решения

ния 0

 

 

 

 

 

 

 

 

 

Г «7*./

 

Xj=

xj= 1

 

 

 

24= 1

 

0

0

l ,

х5 = 1

 

 

 

1

1,2

24=1,

ХЬ =

2

 

 

2-5 =

2

 

2

2,4

хз =

2, х4 = 1

 

 

25 =

3

 

18

1,6

Xj= l ,

х4 = 1

1

 

24= 1

 

4

0,8

# 1 = 1 ,

Х/к

1, Хгу=

2Г4 =

1,

2:5 =

1

5

2,0

 

х3 = 3

 

 

х4 =

1,

хъ=

2

21

1,2

24 = 1, 2)3=1

1

 

2:3 =

1

 

7

0,4

24 = 1, х3=1,

х5 =

2:3=1,

2:5=1

8

1,6

 

24= 2

 

 

2:3=1,

2:5 =

2

24

0,8

24= 2, х5=1

 

2:3= 1, 25=

3

25

2,0

24 = 1, аг3 = 1 , х4 = 1 23= 1 , Х4= 1

11

1 ,2

Xj = 1 ,

х2 =

1

 

 

22= 1

 

12

0,4

24 = 1,

24= 1,

2-5 = 1

22 =

1 ,

2 :5 = 1

13

1,6

24 =

1 ,

х 3=

2

 

 

24 = 2

 

14

0,8

том столбце — периодические решения (т. е. значения Xj, опре­ деляющие г|зп lb (mod aj)]) соответственно при Ъ = 15, 16, . . .

. . ., 29.

Посмотрим, как табл. 18.4 может быть использована для нахож­

дения я|1п (Ь)

при 'Всех

Ъ.

Возьмем

Ъ = 4 3 ;

очевидно, 43 =

== 13 (mod 15). В

13-й строке табл. 18.4 имеется

периодическое

решение х2 =

1,

хь =

1;

это

означает,

что

при

Ь = 13 целочис­

ленное решение следующее:

2 , х2 = 1 ,

хь

= 1

общим весом

2 x 1 5

+ 1 x 1 2

+ 1 x 1 =

43.

Возьмем

теперь

Ъ = 25;

оче­

видно,

25 == 10 (mod 15).

В

10-й строке имеется целочисленное

решение х 2 =

2, х5 =

1 общим весом 25; это значит, что при Ъ =

= 25 должно быть #1

=

0, или,

другими словами,

периодическое

решение не применимо. Заметим, что при 6 = 40 (40—15 =

25)

имеем xt = 1 ,

х2 = 2 ,

х5 — 1 .

 

 

 

 

 

 

Можно перечислить все случаи, когда периодическое решение применимо и когда оно не применимо (последние случаи в при­

водимой

ниже

таблице

обозначены

нулями).

Ь (mod 04)

0 1

2 3

4 5 6 7

8 9 10 И 12 13 14 15

X X X 0 X X 0 X X 0 0 X X X X X


ГЛАВА 19

О СООТНОШЕНИИ МЕЖДУ ЛИНЕЙНЫМ И ЦЕЛОЧИСЛЕННЫМ ПРОГРАММИРОВАНИЕМ Ц

19Л. Введение (Гомори [84], Кортанек и Ярослав [133])

В § 13Л для получения отсечения (9) мы использовали урав­ нение (4). При построении отсечения мы требовали, чтобы левая часть уравнения (4) была целой (необязательно неотрицательной), а переменные в правой части уравнения — целыми и неотрица­ тельными. Следовательно, в качестве производящей строки можно использовать любую целочисленную комбинацию уравнений, подобных (4), и отсечение Гомори можно получить из нее. Так ■как существует бесконечно много целочисленных комбинаций, то из данной таблицы можно получить бесконечно много произво­ дящих строк. Казалось бы, можно добавить сколь угодно много отсечений. Тем не менее будет показано, что имеет смысл добав­ лять только конечное число отсечений. Любое другое отсечение, полученное из таблицы, является следствием одного из них.

Используем вектор-строку R* = (r0, rt, . . ., гп) для обозна­ чения производящей строки, вектор-строку F £ — (/0, Д, . . ., / п)

для обозначения отсечения

Гомори, а ф — для обозначения отобра­

жения, которое переводит

производящую строку Нг в отсечение

Гомори F*. Тогда отображение

ф переводит вектор-строку R;

в ее дробную часть, причем

 

Ф (R i) =

ф ( Щ ,

если Rг и R; отличаются на вектор с целочисленными компонен­ тами. Далее, пусть Rt и R2 — любые две производящие строки

и п — произвольное целое число. Тогда

ф (Ri + Иг) = ф (Hi) + ф(R2) — Ft -f- F2

и

ф(rcRi) = пф (Rj) = »Ft.

Д Многие из результатов гл. 19 и 20 являются перефразировкой или непосредственным изложением статьи Гомори [86]. Читателю обязательно придется обращаться к подлиннику, так как многие теоремы и доказатель­ ства здесь не приводятся. Автор благодарит Американское издательство Elsevier и корпорацию IBM за разрешение использовать в работе эти мате­ риалы.


19.1. ВВЕДЕНИЕ

379

Таким образом, вектор-строки дробных частей, представляющих отсечения Гомори, образуют абелеву группу с операцией сло­ жения по модулю 1 .

Изучим подробно последовательность таблиц при решении задачи целочисленного программирования. Исходная таблица представляет собой целочисленную матрицу А0, следующая мат­ рица Ai получается из А0 с помощью элементарного преобразо­

вания. Элементарное

преобразование

эквивалентно умножению

А0

справа на

матрицу

В"1,

 

т. е.

 

А0В"]

 

=

Ai.

 

 

 

В примере 1 из §

13.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

- 4

—5

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

-

1

 

0

 

 

0

 

 

 

 

 

 

 

0

 

 

0

-

1

 

 

0

 

 

 

 

 

 

 

0

 

 

0

 

0

 

-

1

 

 

 

 

 

 

 

1 0

 

 

3

 

2

 

 

0

 

 

 

 

 

 

 

1 1

 

 

1

 

4*

 

0

 

 

 

 

 

 

 

13

 

 

3

 

3

 

 

1

 

 

 

 

+ 1

0

0

 

0

 

 

 

 

 

 

 

 

 

 

0

+ 1

0

 

0

 

 

 

 

 

 

 

 

 

 

 

1 1

- 1 - 4

 

0

 

 

 

 

 

 

 

 

 

 

 

0

0

0

+

1 _

 

 

 

 

 

 

 

 

 

0 -

 

 

 

 

 

 

 

 

+

1

 

 

0

0

 

 

 

 

 

 

 

 

 

 

0

 

 

+ 1

0

0

 

 

 

 

 

 

 

 

 

— 11/4

- 1 /4

- 1 /4

0

 

 

 

 

 

 

 

 

 

 

0

 

 

0

0

+ 1 _

В

общем случае

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

" + 1

+ 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вё1

аг0

 

 

 

 

 

 

 

 

 

 

 

 

ars

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ 1

+ 1_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где ars —ведущий элемент. Это означает,

что

|detB0| = ars. Пусть

а” —строка из А0 и а —строка из А^

Тогда

 

 

 

a?Bj1= aJ,


380 ГЛ. 19. ЛИНЕЙНОЕ И ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ

откуда

а?= а^В0.

(1)

Уравнение (1) можно рассматривать как систему уравнений, где неизвестными являются компоненты вектора а;. По правилу Кра­ мера каждая компонента вектора есть отношение двух опреде­ лителей, причем знаменателем является определитель матрицы В0. Пусть | det В0 | = D. Тогда D равно абсолютной величине

ведущего элемента, а каждая компонента вектора а* имеет вид h/D, где h — целое. Рассмотрим соотношение между исходной матрицей А0 и текущей матрицей А*. Имеем

АоВ^В; 1 . . . B l i i - A ,

или

А0 = A;B;_iB(_2 . . . В0 = А*В.

Так как det В = det B(_i det Вг_2 . . . det В0, то каждый эле­

мент матрицы А( имеет вид hID, где D теперь обозначает абсолют­ ную величину произведения последовательно получающихся веду­ щих элементов, и h — целое.

Если в циклическом алгоритме сохранять все отсечения Гомори, число строк будет возрастать. Отсечения Гомори являются полностью целочисленными неравенствами, если они выражены через исходные небазисные переменные. Таким образом, их мож­ но представить как часть исходной полностью целочисленной матрицы.А0, а приведенные выше рассуждения можно использо­ вать для доказательства следующей теоремы.

Т еорема 19.1. Каждый элемент таблицы, используемой е цик­ лическом алгоритме, имеет вид h/D, где h целое, a D произ­ ведение ведущих элементов последовательно получаемых при пере­ ходе от исходной таблицы к данной.

Мы умножали полностью целочисленную матрицу А на обрат­ ную матрицу В- 1 и затем брали дробные части вектор-строк АВ-1.

Рассмотрим теперь этот же процесс, но вместо дробных частей вектор-строк А В - 1 будем использовать дробные части векторстолбцов В -1А. Это связано с тем, что в нашем следующем алго­ ритме будут использоваться вектор-столбцы ф (В-1А) вместо век­

тор-строк ф (АВ-1). Тем не менее результаты, полученные в одной формулировке, останутся справедливыми также и в другой.

Рассмотрим вектор-столбцы с т компонентами. Эти векторстолбцы с обычной операцией сложения образуют абелеву группу. Через R обозначим пг-мерные векторы с действительными ком­ понентами, а через Z соответственно /?г-мерные векторы с целыми компонентами. Пусть т — абелева группа действительных


можно представить как
ni ai с целыми п}, будет принадлежать

19.1.

ВВЕДЕНИЕ

381

m-мерных векторов, a {Z}

— абелева группа

целочисленных

m-мерных векторов *). Ясно, что {Z} является подгруппой {Я}ичто любой m-мерный вектор с действительными компонентами при­ надлежит {R}, а любой m-мерный вектор с. целочисленными ком­

понентами

принадлежит

{Z}.

Пусть

А — X и)-матрица с целочисленными вектор-столб­

цами А =

[аь . . ., а„].

Через {А} обозначим абелеву группу,

порожденную вектор-столбцами из А. Любой вектор, который

П

2

5=1 (А ). Если матрица А содержит единичную матрицу размерности

т X т, то {А} = {Z}; в общем случае {А} будет подгруппой группы {Z}.

Предположим, что ранг матрицы А равен т, и что подматрица В = [Ьь . . ., bm] матрицы А также имеет ранг т. Мы можем аналогично рассмотреть абелеву группу {В}, порожденную вектор-

столбцами В. Таким образом, элементы группы {В} имеют вид

т

2 Hjhj, где rij — целые. Так как А и В имеют одинаковый ранг,

5 = 1

то любой вектор-столбец aj из А можно представить как линейную комбинацию векторов Ьг (i = 1 , . . ., т) с действительными, но

не обязательно целыми коэффициентами. Таким образом, в общем

случае {В} является подгруппой группы {А}.

размерности

Произведение В-1 А, которое будет

матрицей

т X п, обозначим буквой а, а символом

{а} обозначим абелеву

группу, порожденную вектор-столбцами из а.

 

Пусть В и а — дробные части соответственно R и

а, так что

R==R-|-Z, a = a -|-Z a).

Тогда {а} —абелева группа, порожденная ■дробными частями вектор-столбцов из а с операцией сложения по модулю 1 .

Итак, используя В-1, отобразим группу {А} в {а} и, далее,

посредством ф отобразим {а} в {а}. Символически это запишется так:

{А) ———> {а} —— {а}.

Легко проверить, что произведение отображений фВ-1, кото­ рое переводит {А} в {а }, является гомоморфизмом.21

1)Имеются в виду группы относительно операции обычного алгебраи­ ческого сложения векторов.— Прим. ред.

2)В соотношении a = а + Z под Z понимается целочисленная матрица соответствующей размерности.— Прим, перев.