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

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

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

2.2. ТАБЛИЦА

СИМПЛЕКС-МЕТОДА

51

 

Таблица 2.1

 

 

 

1

Ч

х 2

х 3

ч

х 5

 

- и

0

0

- 1

—1

- 1

 

2

1

0

1

- 1

2

 

1

0

1

- 1

+2* —1

 

они являются базисными переменными этой таблицы. Если поло­ жить базисные переменные равными числам из 0 -го столбца,

то получим допустимое решение. В 0-й строке имеется три отри­ цательных элемента с одним и тем же значением (в § 2.3 будет дано правило выбора в таких случаях). Произвольно в качестве веду­ щего выберем столбец при хк.

Вэтом столбце имеется только один положительный элемент

а24 = 2; выберем его в качестве ведущего. В таблице он обозначен

звездочкой. Разделив все элементы ведущей строки на ведущий элемент, получим на месте а24 единицу. Затем применим процедуру

исключения Гаусса, чтобы сделать аи = 0 (i = 0,1). Результат приведен в табл. 2.2. Заметим, что в этой таблице переменная х4

 

 

Таблица 2.2

 

 

 

 

Таблица

2.3

 

 

 

1

Xi х2

х3 *4 х5

 

1

Xi Х2 х3 Ч Ч

—Z 21/2

0

1/2

- 3 /2

0

3/2

—Z

- 3

3

2

0

0

3

Х1

5/2

1

1/2

1/2*

0

3/2

хз

5

2

1

1

0

3

xi

1/2

0

1/2

- 1 /2

1

—1/2

#4

3

1

1

0

1

1

заменила в базисе х%(стала базисной).

 

 

 

 

 

 

 

Среди отрицательных элементов 0-й строки можно выбрать

либо х3, либо х5. Произвольно выберем

в

качестве

ведущего

третий столбец.

В третьем столбце только элемент а13 положите­

лен, он и выбирается в качестве ведущего элемента. Результат соответствующего преобразования показан в табл. 2.3. Заметим,

что переменная х3 заменила в базисе xi.

В табл. 2.3

нет отрица­

тельных чисел,

a0j ^ 0

(/ = 1, . . ., 5),

т. е. она

оптимальна.

Оптимальным

решением

является х3 =

5, ж4 = 3,

xt — Хп —

= х5 = 0.

 

 

 

 

4 *

52

ГЛ. 2. СИМПЛЕКС-МЕТОД

Пример 2. Рассмотрим задачу: минимизировать

z = ад + ад + 2xs + 8ад,

при условиях

2xi

ад +

Зад — 2*4 =

3,

(1)

—Xi +

За:2 — 4а:з +

4ад =

1,

(2)

Xj >

0

(]

= I,

. . 4).

 

Это представление не является диагональной фо'рмой относи­ тельно каких-либо переменных. Пусть ад и ад — начальные базис­ ные переменные. Умножив уравнение (1) на 4 и сложив с уравне­ нием (2), умноженным предварительно на 3, получим

5а:! + 5ад + 4ад = 15,

что равносильно

5

5

.

15

/о \

x i +

 

х г + x k —

(3 )

Умножив уравнение (1) на 2 и сложив с уравнением (2), получим

или,

эквивалентно,

Зад +

ад +

2а:з =

7,

 

 

 

 

3

,

1

.

7

 

 

 

. . .

 

 

 

 

 

 

 

 

 

 

 

 

 

~2

 

хгЛ~ хз ~2 •

 

 

 

(4)

Используя

уравнения

(3)

и

(4),

запишем

информацию

о

задаче

в

виде табл. 2.4. Поскольку в нулевой строке относительные

 

 

 

Таблица

2.4

 

 

 

 

 

Таблица

2.5

 

 

 

 

1

X i

х2

х3

Ч

 

 

1

X i

х2

Ч ч

Z

0

1

1

2

8

 

— Z

—37

—12

—10

0

0

ч

 

15/4

5/4

5/4

0

1

 

ч

15/4

5/4

5/4

0

1

Ч

 

7/2

3/2

1/2

1

0

 

ч

7/2

3/2*

1/2

1

0

оценки, соответствующие базисным переменным, ненулевые, умно­ жим первую строку на 8, а вторую — на 2 и вычтем их из нулевой строки. Результат приведен в табл. 2.5.

Поскольку наименьшая

отрицательная оценка расположена

в столбце под ад, введем в

базис переменную ад. Проверка отно­

шения дает min ( у / у > у / т ) — 7/з, т- е- 3/г должен стать веду­

щим элементом. Результат преобразования приведен в табл. 2.6.

2.3. НАЧАЛЬНЫЙ ДОПУСТИМЫЙ БАЗИС И ВЫРОЖДЕННОСТЬ

53

Единственной отрицательной оценкой является — 6; пере­ менная х2 должна быть введена в базис. Из проверки отношения

5 / 5

7

/1 \

(Т / Т ’

Т

Т ) = 1 слеДУет> чт0 ведущим элементом должен

стать 5/6. Результат преобразования показан в табл. 2.7.

 

 

Таблица 2.6

 

 

 

 

Таблица

2.7

 

 

1

X i

х2

Ч

Ч

 

1

хк х2

х3

Ч

Z

—9

0

—6

8

0

— Z

—3

0

0

2

36/5

хк

5/6

0

5/6*

- 5 /6

1

хг

1

0

1

- 1

6/5

X i

7/3

1

1/3

2/3

0

X i

2

1

0

1

- 2 /5

Поскольку все элементы aoj (j = 1, 2, 3, 4)

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

табл. 2.7 оптимальна. Оптимальным решением

является z — 3,

Х\ = 2 , х2 = 1, х3 = хк — 0.

 

2.3.Начальный допустимый базис и вырожденноеть

Вэтом параграфе будет изучена техника получения начального допустимого базиса. Пусть задача линейного программирования записана в канонической форме:

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

Z

C j X j

 

при условиях

j=l

 

 

 

2 Q ' i j X j — bi

(j—1,

., т),

1=1

0 = 1,

., п).

X j > 0

Все bt можно сделать неотрицательными, умножив, если надо, соответствующее уравнение на —1. Тогда можно добавить в каж­ дое уравнение искусственную переменную x f *) таким образом, чтобы из искусственных переменных образовать начальный базис

Х 1

а И х 1

—)—<^12^2 “Н • ■• Н~а 1п х п

xt

+ 0-uXi

+ а2гхг +

а2пхп = Ъ3,

х т Ят1х 1 “Ь &т2.х 2 ~Ь • • • “НЯт пх п Ьт .

г) Искусственные переменные должны быть неотрицательными.

54

ГЛ. 2. СИМПЛЕКС-МЕТОД

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

2 dijX j^bi,

О

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

J]aijXj + Si = bi.

j

Если bt ^ 0, то S; можно использовать в качестве начальных базисных переменных.

Различие между искусственными переменными х\ и слабыми переменными st состоит в следующем. В оптимальном решении задачи все искусственные переменные должны быть равными нулю, поскольку в исходной задаче таких переменных нет. С дру­ гой стороны, вполне возможно, что в оптимальном решении слабые переменные будут иметь положительные значения. Для того чтобы искусственные переменные стали равными нулю, можно предста­ вить целевую функцию следующим образом:

z = 2

C j X j -f 2 M ixf,

3

г

где M t — достаточно большие положительные числа. (В задаче максимизации М г должны быть большими по абсолютной величине отрицательными числами.) Этот способ, называемый методом штра­ фа, предложен Чарнесом, Купером и Хендерсоном [26]. Идея метода соответствует тому, что искусственным переменным при­ даются заведомо большие цены. Такой способ приводит к нулевым значениям искусственных переменных в оптимальном решении.

Существует и другой способ получения начального допусти­ мого базиса. В этом способе, как и в первом, в качестве начальных базисных переменных используются искусственные переменные. Рассматривается новая целевая функция §, представляющая собой сумму искусственных переменных. Требуется минимизировать |, используя z-уравнение как одно из ограничений. Если исходная система уравнений имеет допустимое решение, то все искусствен­ ные переменные должны стать равными нулю. Следовательно,

минимальное значение | = 2 х? должно быть равно нулю. Если

г

min g > 0, то исходная система уравнений не имеет допустимых решений. Если min g = 0, то можно опустить целевую функцию g = 2 xi и использовать оптимальный базис g-формы в качестве

2.3. НАЧАЛЬНЫ Й ДОПУСТИМЫЙ БАЗИС И ВЫРОЖДЕННОСТЬ

55

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

ции

на второй — минимизируется z и получается оптимальный

базис

([37]).

 

 

 

 

Рассмотрим в качестве примера следующую задачу линейного

программирования:

 

 

 

 

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

 

 

 

 

 

Z :r=

C i X i - |-

- |-

. . . -]— с п х п

 

при условиях

 

 

 

 

 

о - ц Х \ -)- а 12х 2 +

•.. . -j- d \ n X n = Ь и

 

 

&ZlX i

-[- а 22х 2 '

• . .

Й2п х п — Ь2т

( 1)

 

® m ix

i Н ' Я т 2 х 2 4~

■ • •

“Ь О'ТПп.З'П " Ьтт

 

где все bt неотрицательны.

Если ввести искусственные переменные xf и новую целевую функцию

т

1 = 2 х?,

г= 1

то получим задачу: минимизировать

 

- X®

+

. • • +

хЧп,

 

 

 

 

при условиях

 

 

 

 

 

 

 

 

 

Z

c ix i

4- С 2 Х 2

+

. * *

с п % п

 

 

хЧ

+ (1 ц Х 1 -)-

-р . . . —|- ( t \ n X n

 

Ъ \,

 

х~

4“ & 2 l x

l “I- 0-22х

2 4 "

а 2 п х п

— &2i

(2)

 

- m 4~ a m i x l 4~ й т 2 х 2 4 " • . .

-\~ d m п х п = Ъ щ '

 

получим

:е уравнения,

содержащие b h

из

 

 

 

 

 

 

 

 

 

 

- I

-J- d ^ X i

-)- ^2^-2

4 " ■ • 4- d

n x n

— —Ъ

 

 

с 1х 1 4“ ^ 2 Х 2

4“ • • + С „ х п

= 0 ,

 

 

4 - a i l X 1

4 - а 12х 2

4“ •

• ■4 " 0-inx n

=

Ъ \,

( 3 )

4 " 0 ,m lx i 4“ &m2x 2 4 “ 4“ ®тппх п — Ът ,

56

ГЛ. 2. СИМПЛЕКС-МЕТОД

где d j ------ (atj +

a2j + . . . + amj),

(bi + b2 -f- . . . + bm).

Система (3) является диагональной формой относительно —Е, —z, х°, . . Хт. Первая фаза симплекс-метода состоит в минимиза­ ции | при условиях (3). На знак z ограничений не накладывается. В процессе вычислений, как только искусственная переменная становится небазисной и ее коэффициент в |-форме положителен, сама переменная и соответствующий ей вектор-столбец из даль­ нейших вычислений исключаются. Посмотрим, почему это воз­ можно.

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

I = £о+ 2 djXj + 2 dtXi,

где dj -g 0 и dt > 0. Если положить небазисные переменные Xj и х?

равными нулю, а | = | 0,

то получим решение. Если задача имеет

допустимое решение, то |

= | 0 = 0.

Отсюда следует, что никакая

искусственная переменная х? с dt >

0 не может входить в базис

с положительным значением.

 

Выше было показано, что искусственные переменные можно использовать для выяснения совместности системы уравнений. Покажем, как с помощью искусственных переменных решается вопрос об избыточности системы. Рассмотрим детально проблему вырожденности и ее связь с избыточностью. Вспомним, что базис­ ное решение получается из решения уравнения Вхв = Ь, где В — квадратная подматрица матрицы А, Ах = Ь. Если одна или более компонент вектора хй равна нулю, это означает, что Ь можно выразить через т — 1 или меньшее число векторов. Существует два случая, когда это возможно.

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

2. Ранг матрицы В равен т, но Ь лежит в выпуклом конусе, натянутом на подмножество векторов из В.

Рассмотрим систему уравнений

Ах = Ь (А есть X и)-матрица, т <С.п)

без искусственных переменных. Если система уравнений избыточна и совместна, это означает, что ранг строк матрицы А равен рангу строк матрицы [А, Ь] и меньше т. В частности, ранг строк под­ матрицы В меньше т. Поскольку ранг строк матрицы равен рангу)*

*) То есть описывают одну и ту же задачу.— Прим, ред.

2.3. НАЧАЛЬНЫЙ ДОПУСТИМЫЙ БАЗИС И ВЫРОЖДЕННОСТЬ

57

столбцов, любая система т столбцов матрицы В линейно зависима. Из рассмотренного выше случая 1 следует, что любое базисное решение вырождено. Таким образом, избыточность влечет за собой вырожденность любого базисного решения. Обратное неверно. Рассмотрим следующую систему уравнений:

2iX\

-j-

г= 3,

-f- Х2

 

2^4 =

6 ,

Qxi

-f- хг “Ь

=

9.

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

Если получено невырожденное базисное решение, значит, суще­ ствует невырожденная подматрица В матрицы А. Это означает, что система Ах = Ь неизбыточна. Таким образом, если существует невырожденное базисное решение, то система неизбыточна. С дру­ гой стороны, неизбыточность системы еще не гарантирует суще­ ствования невырожденного базисного решения. Рассмотрим для примера следующую систему:

Xi

~\~

— 2,

—хг

+2ж 4 = 4,

Х3

+ 3 ^ 4

= 6 .

Система неизбыточна, поскольку ее матрица содержит подматри­

цу —I.

Первые три

столбца не дают допустимого базиса,

а любой

допустимый

базис, содержащий четвертый столбец,

вырожден.

 

Таким образом, существование невырожденного базисного

решения

показывает,

что система неизбыточна; существование

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

Введение искусственных переменных не только дает нам начальный базис в симплексном алгоритме; их также можно исполь­ зовать для выяснения совместности и избыточности исходной системы уравнений. Если в конце первой фазы | > 0, то у исход­ ной системы нет ни одного допустимого решения, т. е. исходная система несовместна. Если же | = 0 и в базис не входят искусствен­ ные переменные, то можно начать вторую фазу. Если | = О и в базис входят некоторые искусственные переменные с нулевым значением, то можно заменить искусственные переменные в базисе

58

ГЛ. 2. СИМПЛЕКС-МЕТОД

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

Для примера рассмотрим такие два уравнения:

+

х2 +

х3 =

10,

2xi -|-

2х2

2х3 ~

20.

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

+

Xi +

х2 +

х 3

=

10,

+

2xi +

2х3 +

2х3

=

20.

В конце первой фазы | =

0 и одна из искусственных переменных

х° (г — 1, 2) войдет в базис с нулевым значением. Преобразование не сможет вывести из базиса переменную х % , поскольку a rj 0

для / = 3, 4, 5, что и показывает избыточность системы урав­ нений.

Рассмотрим стандартные приемы получения начального допу­ стимого базисного решения. Не теряя общности, мы можем рас­ сматривать ограничения задачи линейного программирования в следующем виде:

где Ьг ^ 0.

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

^ ] a i j X j = bi , j

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

X i + ' 2 i a i j X j =bi - j

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

S d i j X j ^ b i ,

з

то добавляется слабая переменная, превращающая неравенство в равенство и используемая в качестве начальной базисной пере­ менной:

^Icij j X j Ч~Si b j .

з

2.3. НАЧАЛЬНЫЙ ДОПУСТИМЫЙ БАЗИС И ВЫРОЖДЕННОСТЬ

59

Рассмотрим систему т ограничений

*11^1

а 12х 2

Н~

• •

^

d'lnx n

 

 

 

а 21х 1

0,22х 2

+

■• • ~\~ &2пх п

^ - Ь 2,

 

 

ЯпИх 1 Ят2х 2 ~Ь •

• “f~ &7ПпЗ'П > ъ т .

 

Пусть 6m = max6;

= 1,

..

 

т).

Тогда можно

добавить т ела-

г

 

 

 

 

 

 

 

 

 

 

 

бых и одну искусственную переменные:

 

 

 

o-nxi + ai2x2 +

• • • +

aiпхп —si

-)- ха =

blt

a2lxt + а22х2

+

. . . +

а2пхп

 

 

—s2

 

+ xa =-b2,

:

 

 

 

 

 

 

 

•.

 

 

(4)

dmixi -T am2x2+

. .. +

amnxn

 

 

 

sm-f- xa = bm.

Пусть Ei, E2, . .

Em обозначают соответствующие уравне­

ния системы (4).

Тогда Ет Е±,

Ет Е2,

Ет — Е т _ь Ет

суть уравнения, эквивалентные

уравнениям системы (4) , с не­

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

правыми

частями

Ът —

&i,

. . .,

Ът — ^m-i,

Ът соответственно.

Переменные Sj,

 

s2, . .

sm_i, ха можно исполь­

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

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

проверка отношения дает min = 0). Для этого необходимо

ввести лексикографическое упорядочение векторов. Вектор назы­ вается лексикографически положительным (отрицательным), если его первая отличная от нуля компонента положительна (отрица­ тельна). Так, вектор [0, 0, 2, —7, 4] лексикографически положи­ телен, а [0, —3, 7, 4, 8] лексикографически отрицателен. Запись х >• 0 показывает, что вектор х лексикографически положителен. Будем говорить, что вектор Xj лексикографически больше векто­ ра х 2, если (Xi — х2) >- 0. Так, вектор [0, 0, 2, —7, 4] лексико­ графически больше, чем вектор [0, —3, 7, 4, 8], поскольку их разность [0, 3, —5, —11, —4] лексикографически положительна.

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

60

ГЛ. 2. СИМПЛЕКС-МЕТОД

метод представляет собой конечный алгоритм, поскольку суще­

ствует конечное число базисов, не превышающее

. Таким

образом, значения (—z), соответствующие базисам, задают линей­ ный порядок на множестве базисов.

Пусть z и г' — значения функции цели в двух следующих друг за другом таблицах. Значение (—z) может не измениться при переходе от одной таблицы к другой, если базисное решение

вырождено, поскольку проверка

отношения дает min

= О

и (—z') = (—z) — 0• Uqs = (—z).

Когда это происходит,

a i s

необхо­

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

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

выбирается любое Cj <

0, в то время как в обычном симплекс-мето­

де использовалось cs,

такое, что min с] =

cs < 0. Допустим, что

в качестве

ведущего

выбран s-й столбец. Тогда

среди

строк

с ais > 0 (г =

1, . . .,

т), поделенных на ais, выбирается лексико­

графически минимальная. Строка становится ведущей,

т. е. лекси­

кографически минимальный вектор — ,

— , . . .

, ^

опре-

 

 

L#is

a i s

a i s J

 

деляет ведующую строку. Заметим, что первая компонента этого вектора получается из обычной проверки отношений. Другими словами, если проверка отношений приводит к нулевому резуль­ тату, то проверяются отношения с числителем, взятым из следую­ щего столбца, и так до тех пор, пока не будет получен ненулевой результат. Если принять это усложненное правило выбора веду­ щего элемента, то необходимо доказать два свойства: 1) в каждой таблице все строки, кроме, быть может, нулевой, лексикографи­ чески положительны; 2) нулевая строка лексикографически возра­ стает после каждой итерации.

Для

того

чтобы

доказать

свойство

1,

вычтем

 

Г

 

 

 

 

 

 

 

 

 

 

 

L«rs ’

a r s J

из

каждой строки

i с

aiS> 0 .

Поскольку

Г

a r s

 

 

 

 

 

 

 

 

 

L <Hs’

^ , . . . ,

^ 1

лексикографически больше,

чем Г—

,

 

a r n 1

а 13

^13 Л

 

 

 

 

 

^ ^Гз

^Г8

 

ers J»

эта разность,

являющаяся г-й строкой в следующей

таблице,

лексикографически

положительна.

Для

строк

с

aiS < 0

эта раз­

ность есть фактически

сумма двух лексикографически

положи-

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