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

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

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

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

Добавлен: 15.10.2024

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

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

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

 

Таблица 6.11

 

a.(T%_]) > a . ( T h_1) , или

a ( T * _ i ) =

=

а (Г й_1);

 

 

Тk (к нечетное)

 

0, . . . , 0

+ . . . +

+

Tk-1

 

+

 

 

 

+

® ) • • • >Ф

_ *

 

0

Tk

0

Таблица 6.12 a ( T * ) > a ( T h)

 

Таблица 6.13

 

 

d{T%) < d ( T k) и а (Г*) >

а (7*)

 

0 ... 0

+

... +

+

 

 

 

 

+

 

 

 

Tk-1

+

:—

!

 

 

L

* +

 

 

 

 

 

 

 

Таблица 6.15

 

 

 

а (Г*) >

а (Г*)

 

 

-

... -

-

+... +

0

 

 

 

Tk

b

 

+*

ф... ®

 

1

 

 

 

 

 

 

 

Таблица 6.14

 

 

a (Tk - i)><*{Tk - i)

или a(T%_i ) =

= a(Th-i)i d ( T l _ v) < d ( T h_i)

 

 

(fc

четное)

 

 

-

... -

-

Ф

®

0

 

0

Tk

 

b

 

 

 

 

0

 

 

[

Tk-i

+*

 

 

 

 

 

Таблица 6.16

d ( T f ) > d ( T k) и a ( T D > a ( T k)

- ... -

-

+ . . . +

0

 

1

+

b

1

Th-i

Tk-i


6.2. ПРЯМО-ДВОЙСТВЕННЫЙ МЕТОД

117

Таблицы 6.11—6.16 иллюстрируют шесть возможных случаев выбора ведущего элемента и изменения в результате итерации. Возможные исходы итераций могут быть использованы для дока­ зательства конечности алгоритма.

6.2. Прямо-двойственный метод1) (Данциг, Форд и Фалкерсон [40])

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

для уменьшения невязок 2)з.

 

 

 

Когда решение

становится одновременно прямо и двойственно

допустимым, оно

оптимально.

Пусть прямая задача имеет

вид:

минимизировать

 

 

 

при условиях

Z =

сх

 

Ах = Ь >

0, X > 0.

(1)

 

Тогда двойственная к задаче (1)

формулируется так:

 

максимизировать

 

яЬ

 

при условиях

w =

 

яА ^

с,

я Sg 0.

(2)

 

Допустимое решение задачи (2) получается посредством весьма несложного ее анализа. Если с ^ 0, то я = 0 — допустимое решение задачи (2). Если условие с;- ^ 0 выполняется не для всех j и допустимое решение задачи (2) не очевидно, то задачи (1) и (2) можно слегка изменить следующим образом. Введем новую неотри­ цательную переменную хп+1 и добавим к ограничениям задачи (1) уравнение

X l - f " Х % ~1~ % 3

1~ . . .

“ 1“

" I- ^71 + 1

#777+ 1

(^"71+1

0 ) 7

где #т-н — достаточно большое положительное число. Очевидно, такое ограничение не изменит оптимального решения прямой задачи. Двойственная задача при этом будет иметь следующий вид:

найти максимум

 

l i / = Я 1 # 1 + . . . +

Я т Ь т +

Я + г + 1 # т + 1

!)

В нашей литературе этот метод носит название метода последователь­

ного сокращения невязок.— Прим,

перев.

 

2)

Невязкой называется величина ^ aijxj

(г = 1, . . тп) при фик-

сированных xj.— Прим, перев.

з

 

 

 


118 ГЛ. 6. МЕТОД ОДНОВРЕМЕННОГО РЕШЕНИЯ

при условиях

л1ан + • • •

1 + я т+1<!с1,

Пр1п ~Ь ■ ••

П'тО'тп

Теперь легко выписать допустимое решение двойственной задачи

nm + 1 = min cj и я г = 0 (г = 1, . . /тг).

Для дальнейшего обсуждения предположим, что нам известно решение я двойственной задачи (2). По следствию из теоремы о дополняющей нежесткости оба решения х и я являются опти­ мальными решениями соответственно задач (1) и (2) тогда и только тогда, когда они удовлетворяют условиям

(cj — 2 п р и) xj = 0

(для

всех j),

(За)

яг ( 2 aijxJ — t>i) = 0

(для

всех г).

(36)

i

 

 

 

Если х — допустимое решение задачи (1), то условие (36) автома­ тически выполняется, поскольку ограничения задачи (1) пред­ ставляют собой уравнения. Пусть я — текущее допустимое реше­ ние задачи (2). Тогда часть ограничений этой задачи выполняется

Как равенства,

а остальные — как неравенства. (Заметим,

что

я — допустимое

решение, но не обязательно базисное, т.

е. я

может обращать в неравенства все ограничения задачи (2).) Для тех ограничений, которые удовлетворяются как равенства, условие (cj — яа7-) Xj = 0 выполняется при любых положительных значе­ ниях соответствующих переменных xj. Если же ограничение выполняется как неравенство, т. е. Cj — яа7- > 0, то для выполне­ ния условия (cj — яа;-) Xj = 0 необходимо приравнять соответ­ ствующую переменную xj нулю. Как найти х, удовлетворяющее

условию (За) и ограничениям задачи (1)?

Исходя из допустимого решения я

задачи (2), определим мно­

жество индексов / = { / | Cj

яа;- =

0}. Для ] £ J любое xs удов­

летворяет условию (За). Для /

б N \

J

выполняется с} — яа;- > 0,

поэтому условие (За) выполнится только при Xj = 0. Таким обра­ зом, если выразить вектор b через неотрицательную линейную комбинацию столбцов aj (/ 6 /), то коэффициенты Xj ^ 0 (j 6 J)

вместе с Xj (/ £ N \ J) составят оптимальное решение задачи (1), поскольку они удовлетворяют условиям дополняющей нежестко­ сти (3). Для нахождения неотрицательной линейной комбинации столбцов aj (/ 6 J) поставим следующую задачу, называемую

вспомогательной задачей:


6.2. ПРЯМО-ДВОЙСТВЕННЫЙ МЕТОД

119

минимизировать

 

m

 

 

 

 

 

 

 

 

 

6 =

S

я?1)

 

 

при условиях

 

i= l

 

 

 

 

 

 

 

 

2 Q'ij'Ej '!

—bi

(/

6 j ^

• • - 7 ^)i

}

;Zj>0,

я“> 0 ,

 

(4)

 

 

 

где xf — искусственные переменные.

|= 0 ,

то x f = 0 n Xj(j£J),

Если в оптимальном решении задачи (4)

удовлетворяющие условиям задачи (4), являются искомой линей­ ной комбинацией. Эти Xj (/ 6 J) вместе с xj = 0 (j € N \ J) пред­ ставляют собой допустимое и оптимальное 2) решение задачи (1).

Это решение допустимо, потому что ограничения задачи (4) при xf = 0 совпадают с ограничениями задачи (1), из которых вычеркнуты столбцы (j £ N \ J). (Вычеркивание столбца а7эквивалентно условию xj = 0.)

Если в оптимальном решении (4) £ > 0, то рассмотрим два слу­ чая. Обозначим оптимальное решение задачи, двойственной к (4),

через

л.

 

 

 

 

 

 

 

 

Случай 1. яа;-^ 0

для

всех

j £ N \ J . Как

будет

показано,

в этом случае

задача (1)

не имеет допустимого

решения. Чтобы

показать это, рассмотрим ограничения задачи,

двойственной к (4):

 

 

 

 

я а ^ О

( / € / ) ,

 

 

 

 

 

 

 

 

 

( i = 1, , .

т).

 

 

Если

я —оптимальное

решение

двойственной

задачи, то яа^<!0

{j £ J).

Из этого условия

и предположения

о

том,

что яа^-^О

для j £ N \ J ,

следует, что яа^^ГО для всех j £ N . Пусть я —до­

пустимое решение

задачи

(2).

Тогда покажем,

что

я' = я + 0я

(при любом 0 >

0)

будет допустимым решением задачи (2). Дей­

ствительно,

 

 

 

 

 

 

 

 

 

я'а7 = (я + 0я) aj = яа7 + 0яа;- < c j

0яа7-

 

 

 

 

 

(поскольку яa^<;0).

 

 

 

J) Очевидно, xf есть невязка, характеризующая степень невыполнения условия (1), а | — сумма невязок. При £ = 0 вектор х есть решение зада­ чи (1).— Прим. ред.

2) Оптимальное, так как при этом решении выполняются условия (За).—

Прим. ред.


120

ГЛ. 6. МЕТОД ОДНОВРЕМЕННОГО РЕШ ЕНИЯ

Далее, значение целевой функции может быть сделано как угодно большим, поскольку

яЬ = | > 0 и я'Ь = (я -f- 0я) Ь — яЬ + 0яЬ,

а 0 можно придать любое положительное значение. Отсюда в силу теоремы двойственности задача (1 ) не имеет допустимых реше­

ний.

Случай

2.

яа7 > 0

по

крайней мере для одного j

\ J .

В этом случае мы увидим,

что я' = я + 0я является допустимым

решением задачи (2 ) для значений 0 , удовлетворяющих

условию

О < 0 < 0 !.

Заметим,

что

по

определению множества индексов J

 

 

 

яаj <

Cj

 

(для всех j £ N \

./).

 

Пусть

 

 

 

 

 

 

 

 

 

0! =

min Г

cC

Jtaj 1 ^

яа7- > 0 ).

(5 )

 

 

о

L

яа j

J

 

 

 

Тогда я '= я + 0я является допустимым решением при О < 0 < 0 1г поскольку

я'а;- =

яа;4 - 0яа^<яа^-!-01яау^яа^ + с ,— яа;-<с^

(для

яа7- > 0),

я'а; =

яа^ + Ояа; < яа_, < cj

(для

яа7- < 0 ).

Кроме того, я' «лучше» исходного решения я:

я'Ь = яЬ |-0яЬ;>яЬ (так как яЬ = £ > 0 , 0>-О).

Таким образом, взяв 0: 0 < 0 ^ 0±, получим допустимое реше­ ние я' задачи (2 ) со значением целевой функции не меньшим, чем

при решении я. Исходя из полученного решения я' можно снова определить множество J = { / | я'а;- — Cj — 0}. Указанный про­ цесс может быть продолжен до тех пор, пока либо будут получены оптимальные решения задач (1) и (2), либо выяснено, что задача (1) не имеет допустимых решений 2)* .

Пример 1. Рассмотрим задачу: найти минимум

 

 

 

z = Хх + х 2 + 2 х 3 8 x t

 

*)

Очевидно, 04 >

0 .— Прим.

ред.

 

 

 

 

 

т

 

2)

Если

«расширение» задачи

(4) — найти min ^

ПРИ условиях

 

 

 

 

i= l

 

Ах +

lx =

b, xj, xi ^

0,— невырождено, то а) суммарная невязка на каж­

дом шаге указанного процесса монотонно уменьшается; б)

за конечное число

шагов (переходов от одного базисного решения «расширенной» задачи к дру­ гому) будет получено оптимальное решение или установлена неразреши­ мость задачи (1).— Прим. ред.