Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Ху, Т. Целочисленное программирование и потоки в сетях

.pdf
Скачиваний:
86
Добавлен:
22.10.2023
Размер:
16.99 Mб
Скачать

Таблица 6.2. До" преобразования

Таблица 6.3- После преобразования

.. а . .

р . .

xn+ i

У)

 

У ■ .

б . .

 

 

= 'Jj

Таблица 6.4

 

 

1

Х{

 

 

1

аоо

«01

 

 

Уп+i

аю

« и

 

Уп+т аш0 а'т1

*

 

 

= Уо

= г/1

 

 

Таблица 6.5

 

 

1 '

Xi

 

х3

 

-2 1 /2

1/2 -3 /2 -3 /2

х0

xn+i

.. а " 1

а - 1 Р

— у а -1

6 — 7 а _1р . .

Уп+i

хп

а0п = х0

а1п — ~ хп+ 1

атп = — Xп + т

Уп

 

Таблица 6.6

 

 

1

Х1

хк

х3

 

г

2

3

3

х0

- 1 8

- 5 /2

1/2

1/2*

3/2 — хк

- 5

1

2

3

— х2

-1 /2

1/2

- 1 /2

- 1 /2

- 3

1

1

1

—х5

Уо

У\

г/2

Уз

УО

У1

Уь

Уз

112

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

 

 

 

Базисное решение прямо допустимо,

если a'i0 ^

0 (i =

1,

. .

т),

и двойственно допустимо, если

> о (7 =

1, . .

.,

п).

Если

одновременно а\0 ^ 0 (г = 1, . . .,

т) и a'oj ^

0 (/ =

1,

. . ., п),

то получено оптимальное решение обеих задач.

 

 

 

 

Для

примера рассмотрим табл. 6.5. Одна итерация с помечен­

ным звездочкой ведущим элементом приводит к оптимальной

табл. 6.6. Заметим,

что табл. 6.5 прямо допустима, поскольку

a i0 ^ 0 (£ = 1,

2),

но

условие

двойственной допустимости не

выполнено, так

как

a0j

< 0 для

некоторых j.

Симплекс-метод,

используемый для решения прямой и двой­

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

Пусть 0 и 0 обозначают соответственно неотрицательные и неположительные элементы. Тогда последняя в последователь­ ности таблиц может быть лишь одной из следующих: 6.7, 6.8, 6.9.

Таблица 6.7.

 

Таблица 6.8.

Таблица 6.9.

Оптимальная

Ограничения прямой

Ограничения

таблица

 

задачи

несовместны

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

 

 

 

 

 

задачи несовместны

 

 

 

 

 

 

 

0

 

 

 

 

 

 

0

 

 

 

+

е е

••• е

 

 

0

 

 

 

 

 

 

0

Начальная таблица прямого симплекс-метода прямо допустима,

т. е. ai0 ^ 0

(i ^

1). В нулевой строке выбирается а0} <

0. (Если

а0j ^ 0 для

всех

/ ^

1, то таблица оптимальна.)

Если

ai} ^ 0

для всех i,

то система

ограничений

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

задачи несов­

местна, а целевая функция прямой задачи на множестве решений

не ограничена. Если ai} >

0 для некоторого i, то в качестве веду­

щего выбирается элемент arj по правилу

 

•J2- =

max ^

{аи > 0).

(5)

a rj

х a lJ

 

 

Указанное правило выбора ведущего элемента сохраняет прямую допустимость каждой таблицы из последовательности таблиц и обычно уменьшает значение а0о- В вырожденном случае аг0 = 0, т. е. после итерации значение а0о не изменяется.

6.1.

ВЗАИМНЫЙ МЕТОД РЕШЕНИЯ

113

Доказательство конечности симплекс-метода основывается на

том, что существует

не более

различных

возможных

множеств базисных переменных. В случае вырожденности, чтобы избежать зацикливания, можно ввести лексикографическое упоря­ дочение векторов х.

Начальная таблица двойственного симплекс-метода двойствен­ но допустима, т. е. a0j ^ 0 (у ^ 1). В нулевом столбце выбирается a io > 0. Если а,ц ^ 0 для всех у, то система ограничений прямой задачи несовместна, а целевая функция двойственной задачи на

множестве допустимых решений не ограничена.

Если atj < 0

для некоторого у, то ведущий элемент ais

выбирается по правилу

= min

(ац<.

0).

(6)

з

аИ

 

 

Правило проверки отношения сохраняет двойственную допусти­ мость последовательности таблиц и обычно увеличивает значе­ ние а00.

Используя в качестве начальной любую таблицу, можно с помощью метода одновременного решения прямой и двойственной задач указать последовательность итераций, которая приводит к одному из трех видов симплексной таблицы, представленных табл. 6.7, 6.8 или 6.9. Для обоснования этого факта необходимо ввести следующие определения и обозначения.

Верхнюю строку таблицы Т обозначим через R (Т) и будем называть характеристической строкой, а левый столбец обозначим через С (Т) и назовем характеристическим столбцом. Левый верхний элемент таблицы Т назовем характеристическим и обозна­ чим через d, (Т). Характеристическая строка R (Т) без d (Т) обозна­

чается через

R'

(Т), а характеристический

столбец С (Т) без

d (Т) — через С

(Т). Таким образом, таблица

Т является прямо

допустимой,

если С (Т) ^ 0, и двойственно допустимой, если

R ’ (Т) ^ 0.

Если начальная таблица прямо или двойственно

допустима, то использование соответственно прямого или двой­ ственного симплекс-метода приведет к заключительной таблице одного из трех видов: табл. 6.7, 6.8 или 6.9.

Если начальная таблица Т0не является прямо или двойственно допустимой, то выделим такую последовательность таблиц Ту, . . .

. .

., Тп, что 1) каждая таблица Th является подтаблицей в

2)

все Т i (i нечетно)

прямо допустимы и 3) все

Т}

четно) двой­

ственно допустимы.

Например, если Т0 не является прямо допу­

стимой, то выделим такие строки в Т0, что ai0 ^ 0 ,

а в качестве

характеристической

строки возьмем строку

с alQ>

0. Получен­

ная таким образом подтаблица Ту таблицы Т0 будет прямо допусти­ мой. Если Ту содержит С (Ту) < 0 или принадлежит одному из типов, указанных в табл. 6.7, 6.8 или 6.9, то последовательность

8 т. Ху

114

 

 

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

 

подтаблиц обрывается на Тj. Если С

(Ti) ^

0,

то составим табли­

цу Тг из

строк,

для

которых

ai0 =

0.

Столбцами

Г2

станут те

столбцы

 

Ти для

которых

 

 

 

 

 

 

 

 

 

а0] ^ 0.

В качестве харак­

 

 

 

 

 

 

 

 

 

теристического

столбца

+

 

-

©

 

©

©

©

таблицы Т2 возьмем любой

 

0

 

 

 

 

 

 

 

столбец

 

Т\,

у

которого

 

0

 

 

 

 

h

 

 

a-оj <L 0.

 

Описанная

про­

 

0

 

 

 

 

 

 

 

цедура

схематически

изо­

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

бражена

 

на рис.

6.1.

-

 

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

Столбцы

 

и

строки

пере­

 

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

казать структуру таблиц.

 

 

 

 

 

 

 

 

 

Если

 

двойственно

до­

 

 

 

 

 

 

 

 

 

пустимая

подтаблица

Т 2

 

 

 

строке,

то

рассмотрим

содержит

нули

в

характеристической

характеристический

столбец

и

те столбцы Т 2,

верхние элементы

которых равны нулю.

Из этих столбцов

выберем элементы, стоя­

щие в строках с неположительными левыми членами.

Эти элементы

вместе с

характеристической

строкой,

выбранной из строк Т2

с положительными

левыми

членами,

образуют

подтаблицу Т 3.

 

 

 

 

 

 

Таблица 6.10

 

 

 

 

 

 

 

 

 

 

 

 

 

-

0 0

D

! +

+

+

 

 

 

 

 

 

0

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

г,

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

©

h

 

 

 

 

 

 

 

 

 

 

 

 

 

©

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Результат описанного процесса показан в табл. 6.10. Последо­

вательность таблиц

обрывается на Г2, если Т3 имеет вид 6.7

или 6.8, или R' (Т)

> 0.

Необходимо сделать ряд замечаний.

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

6.1. ВЗАИМНЫЙ МЕТОД РЕШЕНИЯ

115

2.Поскольку в качестве характеристической строки прямо допустимой подтаблицы можно выбрать любую строку с положи­ тельным левым элементом, последовательность таблиц определяет­ ся для данной исходной таблицы отнюдь не однозначно.

3.Так как каждая Тк содержит либо меньше столбцов, либо меньше строк, чем Тк.\, то последовательность подтаблиц всегда

конечна.

4. На рис. 6.1 и в табл. 6.10 строка и столбцы были переставле­ ны только для наглядности. Для того чтобы последовательность таблиц определилась однозначно, необходимо лишь указать характеристический элемент каждой из таблиц.

5. Для каждой прямо допустимой таблицы Тк с положитель­ ным характеристическим элементом используется прямой симп­ лекс-метод. Правило выбора ведущего элемента сохранит С (Тк)

неположительным. (Здесь знак

* используется

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

таблицы

после

итерации.)

С

другой

стороны,

d ( T h) ' ^ d ( T |).

(Если С

(Тк)

не содержит

нулей,

то d (Тh) > d (Тк).) Если

d (Тк) ^ 0, то характеристический столбец таблицы T%-i содер­ жит на один неположительный элемент больше, чем характеристи­

ческий столбец ГА_1 . В результате итерации таблица

i «при­

ближается» к виду прямо допустимой таблицы.

 

6. Подобным же образом для двойственно допустимой табли­ цы Tk с отрицательным характеристическим элементом мы исполь­ зуем двойственный симплекс-метод. Правило выбора ведущего

элемента сохранит R' (Т*)

неотрицательной. С другой стороны,

d (Тк) ^ d (Г*). (Если R'

(Tk) ^ 0 не содержит нулей, то d (Тк) <

< i d (Тк)-) Если d (Тк) ^

0,

то характеристическая строка табли­

цы Th-i содержит на один неотрицательный элемент больше, чем характеристическая строка таблицы 7Vi- В результате итерации таблица Тk-i «приближается» к виду двойственно допустимой таблицы.

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

Ti, Т 2, ■• ■,

Тк, ■

Тп х). Далее через а (Тк) будем обозначать

число

строк

в таблице Тк,

если к нечетно, и число столбцов

в Тк,

если к

четно.

 

 

х)

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

подтаблиц

(рассмотрение соответствующих задач

иерархии) совершается не автономно, а одновременно. Процесс решения

задачи таков: а) по исходной таблице Т 0 строится (как указано

в тексте)

конечная цепочка прямо

(двойственно) допустимых подтаблиц Т , ,

.

. ., Т п

и их ведущих элементов

а ; ; б) вся таблица Т0 подвергается симплексному

преобразованию с ведущим элементом а „ (из последней подтаблицы);

в) если

полученная после преобразования таблица Т% не оптимальна, то,

 

беря ее

за исходную, повторяем

процесс с п. а )).— Прим. ред.

 

 

8*

 

Таблица 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).— Прим. ред.

Соседние файлы в папке книги из ГПНТБ