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

Вагнер Г. Основы исследования операций [PDF] / Вагнер_Основы исследования операций_т1

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

170

 

 

ГЛАВА 5

 

 

 

 

 

 

 

Предположим, что существенным образом понизилась «прибыль-

 

ность» переменной Xi

или переменной х3,

каждая из которых входит

 

в базис. Представляется вполне возможным, что найденное базисное

 

решение окажется при этом неоптимальным. Не является

также

 

очевидным, что при увеличении значений коэффициентов при xt и х3

 

ранее полученное решение окажется неоптимальным. В каких

 

пределах может меняться коэффициент при Xi

без ущерба

для

опти-

 

мальности

полученного решения?

 

 

 

 

 

 

 

Чтобы ответить на этот вопрос, необходимо выполнить операции,

 

аналогичные только что проделанным. При этом строка 0 системы

 

уравнений

(I)

примет вид

 

 

 

 

 

 

 

 

 

 

Ьо — (4 + б) xi

— 5х2 — Зх3

— 11а:4 = О,

 

(3)

 

а строка 0

в

(F) запишется

соответственно в

виде

 

 

 

 

,

с

. ,3

.

11

.

13

.

5

695

 

,,,

 

0

0»!

+ у а;2 +-у-

ж4 + — ж5

+ у

з:7 =

^у- •

 

(4)

 

Чтобы прийти к какому-либо выводу относительно того, в каких пределах можно варьировать б, не нарушая оптимальности полученного решения, необходимо прежде всего обратить в нуль коэффициент при xi в строке 0. Это достигается обычным образом. Умножим на б строку 1 в (F) и прибавим полученный результат к (4). В результате будем иметь

3 ,

5 Л

 

/ 11

5 «\

 

. / 13

.

10

,

f 5

1 к\

695

. 50 s

,

ч

/с ч

+ \У~Тб ) xi = -T~ +~T&

(строка 0).

(5)

Отсюда следует, что при выполнении условия

полученное решение остается оптимальным. При б ^ —3/5 коэффициент при хг принимает отрицательное значение. В случае когда б ^- и/5, отрицательным становится коэффициент при ж4. Следовательно, как только значение б выходит за пределы интервала, заданного соотношением (6), прежний базис перестает быть оптимальным.

Анализ на чувствительность проводился пока путем варьирования значений коэффициента только при одной переменной (либо базисной, либо небазисной). Этот же прием анализа пригоден и в случае одновременного изменения значений коэффициентов при нескольких базисных переменных. При этом в соотношение, являющееся аналогом уравнения (5), войдет несколько переменных приращений б;-, каждое из которых влияет на способ выбора нового базиса. Чтобы базис остался прежним, бу должны подчиняться определенным условиям, записанным в виде неравенств, аналогичных (6). Другими

АНАЛИЗ МОДЕЛЕЙ НА ЧУВСТВИТЕЛЬНОСТЬ И ДВОЙСТВЕННАЯ ЗАДАЧА 171

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

Многие машинные программы, построенные на базе симплексного метода, автоматически обеспечивают так называемый классификационный анализ (ранжировку) коэффициентов в выражении для целевой функции. Существует также ряд стандартных программ, предусматривающих более тщательный анализ линейных моделей на чувствительность; при этом используются специальные вычислительные приемы, такие, как метод присоединенных целевых функций и параметрическое программирование.

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

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

5=1

где б — параметр, варьируемый

на некотором заданном интервале

значений.

В

наиболее

простом

случае с* = 0

для всех значений

j Ф f

и

с*-

=

1, т. е.

приходим к процедуре

последовательного

варьирования

коэффициентов при неизвестных. Метод параметриче-

ского

программирования позволяет также проверить, остается ли

полученное решение оптимальным при некоторых наперед заданных вариациях коэффициентов в выражении для целевой функции. При проведении такого анализа с* рассматривается как приращение с;-; при этом б может принимать некоторую наперед заданную последовательность значений. После этого легко удается проверить, остается ли полученное базисное решение оптимальным при 6 = 1.

5.3.КОНСТАНТЫ В ПРАВЫХ ЧАСТЯХ ОГРАНИЧЕНИЙ

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

Рассмотрим правую часть строки 2 системы уравнений (I). Произведем замену 120 -> 120 -)- б. Заметим, что свободная переменная х6, фигурирующая в указанной строке, входит в базис [см. (F)]. Следовательно, хв изменится на величину б. Таким образом, ранее

172

ГЛАВА 5

полученное решение остается допустимым, если б ^> —325/7 [см. строку 2 в (F)]. Читателю предлагается самостоятельно вычислить значение хе при 6 = —325/7 и дать интерпретацию полученного результата.

Рассмотрим теперь правую часть уравнения в строке 1 системы уравнений (I). Произведем замену 15 ->- 15 + б. При каких значениях б полученный базис остается допустимым?

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

0

3

 

 

, 11

 

13

 

, 5

695

,

13Х ,

п\

 

 

+jxz

 

-fyzH-yZs

 

+ у^7=-у+у6

(строка 0),

 

 

 

.

5

 

 

5

 

, 10

 

1

50

, 10,5 ,

 

,.

1х1 + ^х2

 

—=-х^,--=-хь

 

Tz7=y-+yO (строка 1),

 

 

 

 

6

 

 

. 13

 

61

, .

, 4

325

61 с, ,

Ж

1

>

 

 

 

 

^

\

 

у-х2

+ у£4 — у Ж 5

+ 1^вЧ-у^7=-у -- уО

(строка Z),

 

 

 

 

2

 

, .

. 12

3

 

, 1

55

3 с ,

Оч

 

 

 

 

ух2

Ч-1^3

+у^4—ул'б

 

+у^7 = у— у о (строка 3).

 

 

 

Полагая, как обычно, небазисные переменные хг, ж4, х5 и ж7 равными нулю, получим значения базисных переменных, которые определяются теперь через б. Чтобы базис продолжал оставаться допустимым, константы в правых частях уравнений (1) должны иметь неотрицательные значения. Отсюда следует, что полученное пробное решение остается допустимым, если

_

61 •

 

 

 

10

 

\

>

Действительно, при б <; — 50/10

значение

базисной

переменной

xt

становится отрицательным; при б >3a5/ei

отрицательное значение

принимает базисная переменная х8.

 

 

 

Положим 6 = 1, что можно

интерпретировать

как увеличение

«ресурса» в строке 2 на единицу. С помощью соотношения в строке О системы уравнений (1) легко показать, что при этом значение целевой функции возрастет на 13/7, причем значения всех базисных переменных останутся неотрицательными. Другими словами, при увеличении объема ресурсов на единицу дополнительная прибыль в оптимальном варианте составляет 13/7.

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

15 ->• (15 -(-

6i) в строке

1,

120

-*. (120 +

б2) в строке 2,

100

_». (100 +

63) в строке

3.

АНАЛИЗ МОДЕЛЕЙ НА ЧУВСТВИТЕЛЬНОСТЬ И ДВОЙСТВЕННАЯ ЗАДАЧА 173

Затем после

выполнения

всех

операций,

позволяющих перейти

от системы (I) к системе (F), и обращения

в нуль всех небазисных

переменных,

будем иметь

 

 

 

 

 

 

 

 

 

 

695

.

13

х

 

 

. 5

 

Жо = —-fyOi

+ у03 ,

 

 

 

50

.

10 „

l'R

 

 

 

£i = -y

+ yOi

 

— yOg,

 

 

 

3 2 5 М

к , л *

4 с

(!)

 

Же = — — у

°i

+ 1°2 -f-

у 03,

 

 

 

dt)

о

о

 

.

1

с

 

 

Жз —

" у

7

~

 

 

 

~'~ ~7~

3'

Коэффициенты при бг (г = 1, 2, 3) совпадают с коэффициентами при соответствующих свободных переменных в (F). Базис остается допустимым, если значения ж1; а;6 и ж3 неотрицательны. Следовательно, 61, 62 и 63 должны удовлетворять соответствующей системе неравенств.

Многие вычислительные программы, построенные на базе симплексного метода, автоматически выполняют классификационный анализ (ранжировку) констант, стоящих в правых частях ограничений, входящих в состав линейных моделей. Существуют также программы, позволяющие находить последовательность решений, соответствующих различным значениям констант в правых частях ограничений (этот способ аналогичен методу присоединенных целевых функций, описание которого приведено в предыдущем разделе). Кроме того, имеются машинные программы, построенные по принципу параметрического программирования: они позволяют находить конгруэнцию решений для множества моделей, получаемого из исходной модели заменой bt ->- bt f 8b* в правых частях ограничений. При этом б рассматривается как некоторый параметр, принимающий ряд значений внутри заданного интервала.

5.4.ДВОЙСТВЕННОСТЬ

Описанные выше методы оценки чувствительности оптимального решения вполне приемлемы, но носят узкий характер, т.е. позволяют решать лишь частные задачи анализа на чувствительность моделей линейного программирования. Разумеется, можно было бы разработать методы анализа, позволяющие произвести оценку чувствительности линейных оптимизационных моделей по отношению к вариациям коэффициентовац, с тем чтобы определить, насколько «выгодно» дополнить базис новой переменной, а также проверить, в какой степени изменится решение, если ввести дополнительные ограничения.

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

174

ГЛАВА 5

программированием,

понятие двойственности может показаться

абстрактным и, следовательно, весьма непривычным. Только со вре-

менем

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

пониманию

исключительной

важности и полезности этого понятия.

 

Мы начнем с определения двойственности и сразу же приведем

ряд примеров. В последующих разделах будет

показано, каким

образом двойственность используется при анализе

на чувствитель-

ность

 

моделей линейного

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

 

Исходная х) и двойственная задачи. Рассмотрим две следующие

задачи

линейного программирования:

 

 

 

 

 

 

 

п

 

 

 

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

(1)

при

ограничениях

 

 

 

 

 

 

п

 

 

 

 

 

 

^atjXj^bi

(i = 1,2, ...,т),

(2)

 

 

Xj>0

(/ = ,2,

. . . , г е )

(3)

и

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

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

2 Ь,У(

(4)

при

ограничениях

 

 

 

 

 

 

m

 

 

 

 

 

 

t=i

>Cj

(/ = 1,2, ...,n),

(5)

 

 

 

 

 

 

 

 

г / г > 0

(г = 1, 2,

. . ., т).

(6)

Для определенности условно назовем первую задачу [соотношения (1) — (3)] исходной, а вторую [соотношения (4) — (6)] двойственной (по отношению к первой).

В качестве иллюстрации рассмотрим следующие две задачи: исходная задача:

 

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

^ -|- 2 + 3

(7)

при следующих

ограничениях:

 

 

 

 

 

Ixi + ixz + 2x3

< 16,

 

 

7xi + 5хг

+ 3xa

^ 25,

(8)

 

*i > 0, х2

> 0,

х3 > 0;

 

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

задача:

 

 

 

 

 

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

16г/! -f- 25i/2

(9)

J) В ряде работ по линейному программированию вместо «исходная задача» используется другой термин — «основная задача». Иногда говорят также* «прямая задача».— Прим. перев.

АНАЛИЗ МОДЕЛЕЙ НА ЧУВСТВИТЕЛЬНОСТЬ И ДВОЙСТВЕННАЯ ЗАДАЧА 175

при следующих ограничениях:

 

 

 

 

Ij/i + 7z/2 > 4,

 

 

 

l*/i + 5J/2 > 5,

 

 

 

2*/i + Зг/2 > 9,

(10)

 

 

01 > 0,

г/2 >0.

 

Грубо

говоря,

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

задача — это на 90°

повернутая

исходная

задача.

Действительно,

 

 

1) у'-й столбец,

составленный из коэффициентов, фигурирующих

в ограничениях исходной модели, совпадает с /'-и строкой,

составлен-

ной из коэффициентов, фигурирующих в ограничениях

двойствен-

ной модели;

 

 

 

2)строка, составленная из коэффициентов в выражении для целевой функции, совпадает со столбцом, составленным из констант, фигурирующих в правых частях ограничений двойственной модели;

3)столбец, составленный из констант, фигурирующих в правых частях ограничений исходной модели, совпадает со строкой, составленной из коэффициентов в выражении для целевой функции двойственной модели;

4)направление знаков неравенства в исходной модели противоположно направлению знаков неравенства в двойственной модели; требование максимизации в исходной задаче в двойственной задаче заменено требованием минимизации.

Имеет место следующая важная теорема:

Т е о р е м а д в о й с т в е н н о с т и , а) Если и исходная и двойственная ей задачи имеют допустимые решения, то: 1) существует оптимальное решение х* (j = 1, 2, . . ., п) исходной задачи; 2) существует оптимальное решение у* (i — 1, 2, . . ., т) двойственной задачи; 3) имеет место следующее соотношение:

n

m

 

%cjXJ=

S&tf?-

(И)

3-1

i=l

 

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

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

Пусть переменные Xj удовлетворяют ограничениям исходной модели, а переменные г/; удовлетворяют ограничениям двойственной

модели. Умножим каждое

г-е ограничение исходной задачи на yt,

а каждое ;-е ограничение

двойственной задачи на Xj. Поскольку

176

ГЛАВА 5

г/г ^> 0 и х7- ^> 0, направление неравенств в результате указанных действий не изменится. Сложив отдельно правые и соответственно левые части всех соотношений, получаемых после выполнения указанных выше операций над ограничениями исходной модели, получим

m п т

Xy/(Saw)<Sfc^.

(12)

i=l

з'=1

3=1

 

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

3=1

t=l

3=1

(При сложении нескольких неравенств с одинаковым направлением знака неравенства, естественно, получаем неравенство с тем же направлением знака неравенства.)

Поскольку выражения в левых частях неравенств (12) и (13) совпадают, имеем

3=1 i=l

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

В частности, для исходной и двойственной задач, представленных соотношениями (7) — (10), имеем

4Il + 5xz + 9х3 ^ 16^ + 25г/2

(15)

для любых допустимых решений как исходной задачи, так и ей двойственной. Одно из допустимых решений исходной задачи имеет

вид Xi — x-i

= 0, х3 = 8; при этом целевая функция принимает зна-

чение, равное 72. Двойственная задача допускает решение

z/i = 5,

г/2 = 0; значение целевой

функции при этом равняется 80.

Следо-

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

исход-

ной задачи, так и для двойственной лежит в интервале от 72

до 80.

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

оптимальное

решение, то

соответствующая двойственная

задача

не имеет ни одного допустимого решения. Допустим, например, что существует допустимое решение исходной задачи, для которого значение целевой функции оказывается неограниченно большим. Тогда двойственная задача не обладает ни одним допустимым решением. Если бы двойственная задача имела хотя бы одно допустимое решение, то возникло бы противоречие. В силу соотношения (14) решение двойственной задачи ограничивало бы сверху значение

АНАЛИЗ МОДЕЛЕЙ НА ЧУВСТВИТЕЛЬНОСТЬ И ДВОЙСТВЕННАЯ ЗАДАЧА 177

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

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

утверждения

вытекает непосредственно из

соотношения

(14).

Одно из весьма любопытных следствий теоремы двойственности

можно

сформулировать

в

виде

следующей

теоремы:

 

 

Т е о р е м а о д о п о л н и т е л ь н о й н е ж е с т к о с т и .

Пусть х* (j =

1, 2, . . .,

п)

— решение исходной задачи,

a

yf (i =

= 1, 2,

. . ., т) — решение

соответствующей

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

задачи.

Оба решения

являются оптимальными тогда и только тогда, когда

 

 

3=1

 

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

 

**(2Х'Л/*-с;) = 0

(/ = 1,2, ...,«)•

 

 

 

 

г=1

 

 

 

 

 

 

Отсюда вытекает, что всякий раз, когда модель содержит ограничение, имеющее вид строгого неравенства, соответствующая переменная в двойственной задаче принимает нулевое значение.

При формулировке исходной и двойственной задач [соотношения (1) — (6)] была использована удобная для записи каноническая форма. С помощью преобразований, рассмотренных в гл. 3, любую задачу линейного программирования можно представить либо в виде

(1) — (3), либо в виде (4) — (6). Взаимосвязь между исходной и двойственной задачами еще более четко прослеживается, если воспользоваться следующими развернутыми каноническими формами представления:

а) Исходная задача:

 

 

п

 

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

при ограничениях

 

 

 

п

 

 

 

 

 

<m),

(II)

i=i

 

, ... ,m),

(III)

 

 

(IV)

x, > 0

0 = 1, 2, . . ., k < n),

не имеет

ограничения

в знаке при

 

j = k + 1, k + 2,

. . ., п.

(V)

178

ГЛАВА 5

 

 

 

б) Двойственная

задача:

 

 

 

 

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

 

 

(I')

 

 

 

 

при ограничениях

 

 

 

 

 

 

 

 

(II') •

 

 

 

 

(Ill')

 

j/4 >0 (» = 1, 2,

. ..,

h),

(IV)

i/j не имеет ограничения в знаке при i

= А

-{- 1, /i -[- 2, . . ., т.

(V)

Теорема двойственности имеет место и в том случае, когда исходная и двойственная задачи записаны в приведенном выше каноническом виде. В этой связи полезно усвоить следующую схему соответствия:

Исходная задача

 

Двойственная задача

 

 

Максимизация

 

Минимизация

 

 

Константы в правых частях ограни-

Целевая функция

 

 

чений

 

 

 

 

 

 

Целевая функция

 

Константы в правых частях

ограни-

 

 

 

чений

 

 

 

/-и столбец,

составленный

из коэф-

/-я строка,

составленная из

коэф-

фициентов при неизвестных в огра-

фициентов при неизвестных

в огра-

ничениях

 

 

ничениях

 

 

 

i-я строка, составленная из коэффи-

г'-й столбец,

составленный из

 

коэф-

циентов при

неизвестных

в ограни-

фициентов при неизвестных в огра-

чениях

 

 

ничениях

 

 

 

/-я неотрицательная переменная

/-е неравенство вида ^

 

 

/-я переменная, не имеющая ограни-

]-е соотношение в виде равенства

чения в знаке

 

 

 

 

 

г-е неравенство вида <!

 

i-я неотрицательная переменная

i-e соотношение в виде равенства

i-я переменная, не имеющая

огра-

 

 

 

ничения в знаке

 

 

5.5. РЕШЕНИЕ ДВОЙСТВЕННОЙ ЗАДАЧИ

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

АНАЛИЗ МОДЕЛЕЙ НА ЧУВСТВИТЕЛЬНОСТЬ И ДВОЙСТВЕННАЯ ЗАДАЧА 179

О п т и м а л ь н ы е з н а ч е н и я п е р е м е н н ы х д в о й - с т в е н н о й з а д а ч и .

а) Коэффициенты при свободных переменных в строке 0 на последней симплекс-итерации при решении задачи максимизации совпадают с оптимальными значениями переменных двойственной задачи.

б) Коэффициент при Xj в строке 0 на последней симплекс-итерации представляет собой разность между левой и правой частями /-го ограничения двойственной задачи, соответствующую оптимальному решению последней. В качестве иллюстрации рассмотрим задачу распределения ресурсов 1), решение которой дано в разд. 4.4:

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

4xi + 5xz -)- 9а;3 + 11ж4

при наличии следующих

ограничений:

 

ixi + 1хъ -f

3

+ 1ж4

< 15,

7xi + Ьх2

+ Зх3

+ 2ж4

< 120,

Szj + 2

+ 10z3 + 15а:4

< 100,

х, > 0

(/ = 1, 2, 3, 4).

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

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

ISz/j -|- 120г/2 + Ю0г/3

(1)

при наличии ограничений

 

 

 

lj/i + 7i/2

+

З^з > 4,

 

lz/i + 5г/2

+

5г/3 > 5,

 

1г/1 + 3z/2

+ 10Уз > 9,

(2)

lj/i + 2i/2

+ 15г/3 > И,

 

Рассмотрим коэффициентыпри трех свободных переменных в строке 0 на заключительной симплекс-итерации [см. соотношения (F) в разд. 5.1]. Согласно утверждению, приведенному выше [см. п. а)], оптимальными значениями переменных двойственной задачи являются следующие:

J) Постановку задачи о распределении ресурсов см. в разд. 2.2.— Прим,, перев.