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

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

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

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

Добавлен: 15.10.2024

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

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

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

15.1. ВВЕДЕН И Е

Таким образом, из уравнения (10) получим уравнение

 

*=

—/о—2

/?( —*/),

 

где

cij,

если d j ^ O

и Xj

нецелое;

 

 

dj,

если

а/ < < 0

и xj

нецелое;

.

если

fj ^ /о

и Xj

целое;

 

fj,

 

 

если / j > / 0

и xj

целое.

313

(И )

Ог)

Уравнение (11) записывается внизу таблицы и далее решается задача нахождения максимума при дополнительном условии.

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

элемент нулевого столбца и производящей

строки

до итерации,

а а| 0 обозначает такой же элемент после итерации.

Тогда

аг'о<[аг0],

если

aiS>

0 ,

(13)

 

если

ais<

0 ,

 

 

где s-й столбец ведущий. Выписанные соотношения (13) означают, что элемент нулевого столбца и производящей строки либо умень­ шается до ближайшего целого [аго], либо увеличивается до сле­ дующего целого [ai0] + 1 .

Для доказательства соотношений (13) рассмотрим подробно одну итерацию. Если г-я строка выбрана в качестве производящей и s-й столбец является ведущим, то

&iQ a i0

a is

(14)

 

J is

 

Из формулы (12) получаем f?s =

dis, если a;s > 0

и на xs не нало­

жено требование целочисленности. В этом случае соотношение (14) принимает вид

a[о = atо — ais = [a*0].

u is

Если a;s < 0 и на xs не наложено требование целочиеленности,

равенство (14) принимает вид


314 ГЛ. 15. СМЕШАННЫЙ АЛГОРИТМ

Если требуется, чтобы xs было целым и^ is ^ /го, то из (14) получим

 

«io = «io ■YL ais = [ai0],

если

ais =

fis,

 

 

 

 

/ is

 

 

 

 

 

 

 

a'io = ai0 — ^ - a is< [ a i0],

если

ais> f is.

 

 

 

 

Tis

 

 

 

 

 

 

Если требуется,

чтобы xs было целым и /,s >

/ген

т° из (14) следует

 

0 — #г0

__/го

a i

= «го—( 1 —/го) 1 —/г

(15)

 

/ ; о / ( 1 -

Ы

1 - /

Если

0<£E;S< 1 ,, т. е.

ais — fis,

и

поскольку

-J-Щ— < •

^IS

то из

(15) получаем

 

 

 

 

 

1 —/го ^

1 —/гв ’

 

 

 

 

 

 

 

 

 

« 1 0

«го

/го =

[«гоЬ

'

 

 

Если

— l < a ; s < 0 , т.

е. ais = fis — 1, то из (15) следует

 

 

«ю = «го— ( 1 —/го)

f— = [«го! + 1 -

 

Если

1 < а гз, то

равенство (15) принимает вид

 

 

 

«10 = «го—/го

7

^- <

«го—/го =

[«го1•

 

Если ais<i — 1,

из (15)

получим

 

 

 

 

 

 

«го > «го-— ( 1 — /го) ( —

 

= «го“Ь —/го) = [«го] + 1 -

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

численное™, а под ними — остальные

ограничения. В силу сде­

ланного выше предположения ain (i

=

0 , 1 ,

. . ., т') должны

быть целыми, поэтому

первые т! +

1

строк

могут выступать

в роли производящих.

Поскольку а\

лексикографически умень­

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

постоянным для всех t > t0. Таким образом, через конечное число


15.2. МЕТОД РАЗБИЕНИЯ

315

шагов в качестве производящей строки будет выбираться первая, если а10 нецелое. Тогда а10 не может увеличиться до ближайшего целого для t 3> t0, поскольку это противоречило бы лексикографи­ ческому уменьшению столбца а* (я00 остается неизменным для t > t0). Следовательно, после определенного числа шагов а10

также должно стать фиксированным целым числом. Подобным

же образом можно рассмотреть

вторую,

третью и,

наконец,

(mr + Т ) строку, пока все ai0

(i — 0 , 1 ,

. . ., т')

не станут

целыми.

 

 

 

15.2. Метод разбиения в смешанном целочисленном программи­ ровании (Бендере [18])

Рассмотрим смешанную задачу целочисленного программи­

рования:

 

 

 

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

 

 

 

Z =

CjX +_ С2у

 

при условиях

 

 

 

Atx +

А 2у >

ь,

(1)

X, у > 0,

y s O

(mod 1),

 

т. е. требуется, чтобы только компоненты вектора у были целыми. Для заданного значения у задача (1) примет следующий вид:

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

ctx х)

при условиях

 

х ^ 0.

(2)

А4х 3> b — А 2у,

Задача (2) является обычной задачей линейного программи­

рования. Выпишем двойственную задачу к (2):

 

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

 

 

 

U (Ь — А 2у)

 

при условиях

ct,

и Зз 0.

(3)

uAt ^

Отметим два интересных свойства задачи (3). Во-первых,

область допустимых решений,

определяемая условием uAt ^

с1?

не зависит от у. Во-вторых, вне зависимости от величины у макси­ мум линейной формы и (Ь — А 2у) всегда достигается в одной

из вершин выпуклого многогранника, определяемого условием uAt ^ сь в предположении, что это множество ограниченное. Пусть up (р — 1, . . ., Р) — произвольная вершина этого выпук­

лого

многогранника.

Тогда задачу (3) можно переписать в виде

х)

Д л я заданного у

слагаемое с2у является константой и может быть

опущ ено.— П р и м . р е д .

 


316

ГЛ. 15. СМЕШАННЫЙ АЛГОРИТМ

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

 

 

ир (Ь — А 2у)

(3'>

при

условиях

 

 

ир ^ О (р — 1, . .

Р).

Если задача (3) не имеет допустимых решений, то по теореме двойственности задача (2 ) либо не имеет допустимых решений,,

либо целевая функция на множестве допустимых решений неограничена. Если у задачи (3) нет конечного оптимального решения,, то задача (2) не имеет допустимых решений. И в том и в другом случае задача (1 ) не имеет конечного оптимального решения.

Поэтому нас интересует лишь тот случай, когда задача (3) обла­ дает оптимальным решением. Следует заметить, что в этом случае выпуклое множество, определяемое условиями uAi ^ с4, и ^ О,

непусто, но необязательно ограничено.

Вполне возможно, что

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

множестве

{u | uAj ^

щ, и ^

0} для опре­

деленных значений

(Ь — А 2у)

целевая

функция

и (Ь — А 2у)

неограничена, однако оптимальная вершина, связанная с опти­ мальной величиной у, имеет конечные координаты. Такая ситуа­ ция показана на рис. 15.1, где кружком обозначена оптимальная вершина, а выпуклое множество неограничено.

В случае когда и принимает неограниченные значения для определенных значений (Ь — А 2у), можно добавить к ограниче­

ниям uAi ^ с4, и ^ 0 еще одно: 2 ui ^ М, где М — достаточно большая положительная константа. Такое ограничение показано на рис. 15.1 пунктирной линией.