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

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

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

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

Добавлен: 15.10.2024

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

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

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

19.2. АСИМПТОТИЧЕСКИЙ АЛГОРИТМ

391

между x N, удовлетворяющим ограничениям (5), и t, удовлетво­ ряющим ограничениям (7), таково:

t(g) = Xi = ё})- (8а)

Заметим, что нас интересует оптимальное решение задачи (5).

Поэтому полагаем Xj = 0, если либо /

(аг)

= / (аj) Ф 0

< Cj\

либо / (аг) = / (а;) Ф 0", сг = с,-, a i <

/;

либо / (а,-) = 0.

Тогда

между значениями остальных переменных задачи (5) и значения­ ми переменных t (g) задачи (7) можно установить взаимно одно­ значное соответствие, полагая

 

t( g ) = Xi,

если f (a i) =

g 1).

(8 6 )

Точка х = [хв, х^] c x j =

B -1 b, х^ =

0 соответствует началу

координат

в х^-пространстве

и началу

координат в тг'-мерном

t-пространстве. Часть х-пространства, в

которой

x N ^ 0, соот­

ветствует

первому (неотрицательному) ортанту в

t-пространстве

(рис. 19.1

(б)).

 

 

 

Неотрицательный ортант t-пространства соответствует конусу С 2) в исходном х'-пространстве задачи (1) на рис. 19.1(a). Точки t-пространства, удовлетворяющие групповому соотношению (6 ),

обведены

на рис. 19.1(6) кружками.

Точка х' из С дает точку

(хв, x N).

Точка х' — целочисленная

тогда и только тогда, когда

Хдг соответствует одной из точек, обведенных кружками в t-npo-

 

х) Соответствие между xjy и

t

более точно описывается

следующим

образом.

Пусть

Jg = {/ | / (а7-) = g},

 

a /(g ) —такой элемент из Jg, что если

i £ J g и i= £ /(g),

то либо с д ^ < с г,

 

либо

cj(g) = Cj и /(g) < i . Тогда:

 

 

(а) с каждым решением х.у задачи (5) сопоставим решение t

задачи (7),

 

 

 

 

 

 

 

 

 

 

П

 

полагая

t ( g ) =

2

хл

еслп £ Oi;

легко

видеть, что при этом

^

cjxj >

 

 

j £ J g

 

 

 

 

 

 

3 = 1

 

>

2 c* ( s ) - t (г);

 

 

 

_

 

 

__

_

 

g£ri

 

 

 

 

 

 

задачи

(5):

(б) с каждым решением t задачи (7)

сопоставим решение хдг (t)

полагая:

 

 

 

 

 

 

 

 

 

 

 

~

уtj ~

\

7(g),

если / = /(g )

при некотором g £ гр

 

 

 

 

Xj

S

0

в противном случае.

 

 

 

 

 

 

[

 

 

Очевидно,

 

 

п

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 ф } =

2 с (g)-'t(g)-

 

 

 

 

 

 

 

j=i

 

ген

 

 

 

Из (а), (б) легко вывести, что если t ' —оптимальное решение задачи (7), го xjy (t') —оптимальное решение задачи (5).—Прим. ред.

2) Точнее,

подмножеству

из С, в котором часть переменных xj = 0

в соответствии

с (8).— Прим.

ред.


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

странстве. Как и ранее, многогранник крайних точек в х'-про- странстве обозначается Р х>(В, N, Ь). В х-пространстве много­ гранник крайних точек обозначается

Р А В,

N,

Ь).

Соответствующий многогранник

в

t-пространстве обозначается

P(G,

У],

g0).

Многогранники Рх>(В, N, Ь) и

Р (G, т], g0) показаны на рис. 19.1(a)

и (б). Эти многогранники по

существу одинаковы, и мы будем

в основном иметь дело с Р (G, тр g0). Так как t-пространство «'-мерно, будем говорить о (п' 1 )-мерной гиперплоскости, опре­

деляющей многогранник Р (G, т], g0), как о его грани. Грань мно­ гогранника определяется неравенством. Под этим понимается, что все точки грани удовлетворяют ему как равенству, а все точки многогранника — как неравенству. Соответствие между верши­ нами и гранями многогранников Р х (В, N, Ь) и Р (G, г], g0) непо­ средственное. Точка (хв, x N) является вершиной Р х (В, N, Ь) тогда и только тогда, когда t — F (хв , x N) — вершина многогран­

ника Р (G, т|, g0),

и если / (а;) = / (аг) = g (i ф

j), то либо x t =

= 0, либо хj = 0.

Из вершины в t-пространстве

можно получить

вершину в х-пространстве, используя t (g) как численное значе­ ние небазисной переменной х}, где / (а;) = g, и 0 как значение

всех других небазисных переменных x t с / (аг)

=

/ (а^) =

g. Тем

самым устанавливается соответствие между

t (g)

и x N,

и тогда

хв однозначно определяется соотношением

хв

=

В -1 (Ь — Nxw).



 

19.2. АСИМПТОТИЧЕСКИЙ АЛГОРИТМ

393

Грань многогранника Р (G, т),

g0) можно

представить

неравен­

ством ^ ] y ( g

) t ( g ) ^ Y o или, более кратко, ( у ,

уо) 5 где у есть тг'-мер-

ный вектор,

а у0—скаляр. Грани в х-пространстве обозначим через

(Yb>Yw, Yo)-

Поскольку хв = В-1 (b —Nxjv), неравенство может быть

представлено в х^-пространстве как (0,

у у , у0). Тогда (О,

y N , у0)

грань многогранника Р (G, г), g 0) ,

где

у ( g ) — у (f (&j)) = yt- Итак,

мы можем получить грань Р Ж(В,

N, Ь), выписывая коэффициенты

У ( g ) соответствующей задачи в t-пространстве.

Решение задачи (7) и структура выпуклой оболочки всех цело­ численных векторов t, являющихся решением системы (6), инте­

ресуют нас по трем причинам. Во-первых, задача (7), имеющая в качестве ограничения только одно сравнение, может быть реше­ на методом, аналогичным методу решения задачи о рюкзаке. Полученное решение в большинстве случаев будет давать опти­ мальное решение исходной целочисленной задачи (2а). Во-вторых, когда правые части Ь задачи (2а) достаточно велики и не лежат на границе конуса, порожденного столбцами из В, то решение задачи (7) всегда дает решение задачи (2а). Поэтому решение задачи (7) можно рассматривать как решение целочисленной задачи, у которой значения Ь в правой части достаточно велики. В-третьих, грани выпуклой оболочки всех целочисленных точек t, удовлетворяющих (7), дают самые сильные отсечения, которые могут быть построены в окрестности точки (хБ = B _1 b, x N — 0).

Иными словами, любое отсечение Гомори, введенное без исполь­ зования условия хв > 0 , будет линейной выпуклой комбинацией

граней выпуклой оболочки. Мы обозначили выпуклую оболочку

всех

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

решений t, удовлетворяющих (6 ), через

Р (G,

г|, £„) и хотим

найти вершину многогранника Р (G, г), g0),

которая будет оптимальным решением задачи (7).

Выпуклая оболочка многогранника Р (G, ц, g0) содержит много целочисленных точек. Будем говорить, что целочисленная точка t неприводима, если не существует другой целочисленной точки t', такой, что все ее компоненты меньше или равны соответствую­

щих компонент t и 2 У (§) g = неприводимой точки t не может Иными словами, целочисленная неприводима, если для любого

So- Например, компонента t (g)

превышать порядок элемента g. точка t = (t (g)) из Р (G, ц, g0) множества целочисленных г (g)

и г' (g) условия 0 < г (g) < t (g), 0 < г' (g) < t (g) и 2 r (g) g =

S r' (g) g влекут за собой1 (g) = r' (g) для всех g £ ц х). g£T)

J)Нетрудно видеть, что эти определения не эквивалентны. Неприводи­ мость по второму определению влечет за собой неприводимость по первому, но не обратно. В дальнейшем автор придерживается второго определения.—

Прим, перев.


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

Т еорема

 

19.5.

Каждая

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

ц, gn)

неприводима.

 

 

 

 

 

 

 

 

 

 

 

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

Будем доказывать

эту теорему от против­

ного. Пусть v — вершина многогранника

Р (G, ц, gn);

предполо­

жим,

что v

= (t (g)), g

6 Т

приводима,

т. е. имеются целые числа

г (g)

и г'

(g),

такие, что

 

 

 

 

 

 

 

 

 

 

 

 

 

О < r ( g ) ^ t ( g ) ,

0 < г '(* )< * (* ),

 

 

 

г (g)

ф г' (g)

для некоторого g и

 

 

 

 

 

 

 

 

 

 

 

 

2

г (§■)£= 2

^' (g)g-

 

 

 

 

 

 

 

 

g£B

 

g£B

 

 

 

 

 

 

Так

как v —точка многогранника P(G,

г), g0), то

 

 

 

go= 2

H g ) g - 2

r(g)g + ^ r '

( g ) g =

2

(*(£) — r (g) +

r’ (g))-g

и

гев

 

££в

 

я£в

 

g£B

 

 

 

 

 

 

 

 

 

 

 

 

2 ( H i ) —r‘ (g)+r(g))-g.

go== 2 t ( g ) - g + 2 r(g) - g— 2 r ' { g ) - g=

g£n

 

 

e£B

 

 

g£B

 

 

g£B

 

 

 

По предположению

t (g) r (g)

^

0 и

t (g) — r' (g) ^

0.

Следо­

вательно,

векторы

= (t (g) r

(g)

+

r' (g)),

g 6 t), и

v 2 =

= (t

(g) — r' (g) +

г (g)),

 

имеют

неотрицательные

цело­

численные

компоненты

и

удовлетворяют системе (6 ). Поэтому

vt и v 2

принадлежат Р (G,

ц, g0). Но v

= (vt +

v a)/2.

Это про­

тиворечит предположению,

что v — вершина Р (G, ц,

ga).

Итак,

каждая вершина Р (G,

ц, g0) неприводима.

 

 

 

Вобщем случае неверно, что только вершины многогранника

Р(G, г|, gQ) являются неприводимыми точками. Но если G — прямая сумма циклических групп порядка 2 или порядка 3, то

на самом деле неприводимыми точками являются только вершины.

(См.

[8 6 ].)

ш

 

 

 

 

 

 

 

Т еорема

19.6.

 

Если

t =

t (g) неприводимая

точка

Р (G, г],

g0),

то компоненты

t (g)

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

соотношению

 

 

 

 

[К 1 + * ( г Ж |С | = Д ,

 

(9)

 

 

 

 

gen

 

 

 

 

где

| G | — порядок

группы G.

 

 

 

 

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

Пусть

t' =

(t' (g)) — любая

точка,

коор­

динаты t'

(g)

которой — целые и 0 ^ t' (g) ^ t {g).

Такой вектор

t' имеет

| ц |

компонент и каждая компонента может принимать

любое из значений 0 ,1 ,

. . .,

t (g). Следовательно, имеется не бо­

лее

Г1 ( 1 +

t (g))

различных возможных векторов

t', у которых