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

Жолобов Ввведение в Математическое 2008

.pdf
Скачиваний:
303
Добавлен:
16.08.2013
Размер:
2.42 Mб
Скачать

То есть

m

n

ai yi c j x j .

i 1

j 1

Следовательно, согласно лемме 1.4 , x и y – оптимальные

решения прямой и двойственной задачи соответственно (доказана достаточность).

Необходимость. Ввиду оптимальности решений x и y

имеет ме-

сто

 

 

 

 

a1 y1 +a2 y2 ... am ym = c1 x1 +c2 x2

... cn xn .

(1.70)

Но x – допустимое решение, следовательно,

 

ai1 x1 ai 2 x2 ... ain xn ai

, (i

 

) .

 

1,m

 

Подставим эти выражения в (1.70) :

 

 

 

 

m

i 1

n

(ai1 x1 ai 2 x2 ... ain xn )yi c j x j . j 1

После простых преобразований приходим к следующему выражению:

n

 

x j (a1 j y1 a2 j y2 ... amj ym c j )

0 .

j 1

 

Но y ( y1 , y2 ,..., ym ) – допустимое решение, следовательно,

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

x – также допустимое решение, т.е. x j 0, (j 1, n ) . Таким образом, для любого j 1,n должно иметь место

xj (a1 j y1 a2 j y2 ... amj ym cj ) 0 ,

что и требовалось доказать.

Как обе леммы, так и обе теоремы были сформулированы для несиммтричной пары взаимно-двойственных задач. Для симметричной пары взаимно-двойственных задач леммы 1.3 и 1.4 и обе теоремы двойственности также выполняются, однако вторая теорема двойственности приобретает “симметричную” формулировку. ТЕОРЕМА 1.8 (вторая теорема двойственности для симметричной пары двойственных задач).

Пусть дана задача линейного программирования:

91

c1x1

c2 x2

... cn xn max

ai1x1

ai2 x2

... ain xn ai , (i

 

)

1, m

 

xj

0,(j

 

)

 

1,n

и известно ее допустимое решение x (x1 , x2 ,..., xn ) .

Пусть далее известно допустимое решение y ( y1 , y2 ,..., ym )

двойственной задачи:

 

 

 

 

 

a1 y1

a2 y2

... am ym min

a1 j y1 a2 j y2 ... amj ym cj , (j

 

)

1,n

 

yi 0,

i

 

.

 

1,m

Тогда решения

x (x1 , x2 ,..., xn ) и y ( y1 , y2 ,..., ym ) будут оп-

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

x j (a1 j y1 a2 j y2 ... amj ym c j ) 0,

(j

1, n

)

(1.71)

 

 

 

 

 

 

yi (ai1x1 ai2 x2 ... ain xn ai ) 0, (i 1,m ).

 

Оставим эту теорему без доказательства. Общая схема доказательства полностью аналогична приведенной в теореме 1.7. Сформулированные в этой теореме условия (1.69) и (1.71) носят название условий дополняющей нежесткости.

Условия дополняющей нежесткости имеют четкую экономическую интерпретацияю, которая будет рассмотрена ниже.

1.3.3. Получение решения двойственной задачи по результатам решения прямой задачи

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

При доказательстве первой теоремы двойственности было выведено важное соотношение:

y* =сбазB-1,

(1.72)

92

где B Ai1 ,Ai2 ,...,Aim – базисная матрица оптимального решения

прямой задачи;

сбаз= (ci1 ,ci2 ,...,cim ) – вектор коэффициентов целевой функции

при базисных переменных;

 

y* y*1 ,y*2 ,...,y*m

оптимальное решение двойственной

задачи.

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

11 ... 1j ... 1m

Пусть B 1 21 ... 2j ... 2m

m1 ... mj ... mm

матрица, обратная к базисной матрице оптимального решения прямой задачи.

Рассмотрим единичную матрицу

1

0

 

0

 

 

 

0

1

 

0

 

 

E

 

E1 ,E2 ,...,Em ,

 

 

 

 

0

0

 

1

 

 

 

 

 

0

где E j 1 – единичный вектор с единицей в j-й позиции

0

(j=1,2,...,m).

Примем обозначение

93

 

e1j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X e

e

 

– матрица-столбец,

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

из

коэффициентов

 

2j

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mj

 

 

 

 

 

 

 

 

 

 

 

 

 

B Ai1 ,Ai2 ,...,Aim ,

разложения единичного вектора

Ej по базису

 

т.е.:

 

 

 

Ej = e1 j Ai

e2 j

Ai ... emj Ai = BX ej .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1.73)

 

 

 

 

 

 

 

1

 

 

 

 

2

m

 

 

 

 

 

 

 

 

 

 

 

Решаем матричное уравнение (1.7):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11... 1 j ... 1m

 

 

 

0

 

 

1 j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

21... 2 j ... 2m

 

 

 

 

 

 

 

 

 

 

 

 

 

X

e

B

1

E

 

 

 

 

 

 

=

 

2 j

.

 

 

 

 

j

 

j

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m1... mj ... mm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

mj

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таким образом, коэффициенты разложения единичного вектора с единицей в j-й позиции совпадают с j-м столбцом обратной матрицы.

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

Пример 1.19

Пусть дана задача линейного программирования:

8x1

2x2

6x3 min

 

x1 2x2

x3 5

 

2x1 4x2 2x3 2

 

x1

4

 

x2

5

x3 2

x1 , x2 не ограничены в знаке.

94

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

8x 8x 2x

 

2x 6x 6x

max

 

 

 

1

 

1

2

 

2

3

 

 

 

3

 

 

 

 

 

x

 

x

2x -2x

x

 

x

x

4

 

=5

 

1

 

1

2

 

2

3

 

 

 

3

 

 

 

 

2x

 

2x

4x

4x

2x 2x

 

x

 

=2

 

1

 

1

2

 

2

3

 

 

 

3

 

5

 

 

 

x

 

x

 

 

 

 

 

 

 

 

 

x

6

=4

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

x

 

 

 

 

 

 

 

x

7

=5

 

 

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

x

 

x =2

 

 

 

 

 

 

 

3

 

 

3

 

 

8

 

 

 

 

 

x j

0,

j

 

,

 

 

 

 

 

 

 

 

 

 

1, 8

 

 

 

 

 

 

после чего (ввиду отсутствия в системе ограничений полного набора единичных векторов) применить метод искусственного базиса.

Для этого в систему ограничений нужно ввести пять искусственных переменных по одной на каждое ограничение-уравнение. Полученная задача будет иметь размерность 5 16, где 5 это количество ограни-

чений, а 16 количество переменных.

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

5 y1

2 y2

4 y3

5 y4

2 y5

max

y1

2 y2

y3

 

 

8

2 y1 4 y2

 

y4

 

2

y1

2 y2

 

 

y5

6

y j 0, j 1,5.

Полученная задача имеет размерность 3 5, и ее система ограничений содержит полный набор единичных векторов A3, A4, A5, которые

можно принять в качестве базиса очевидного опорного решения y 0, 0,8, 2, 6 .

Решение двойственной задачи симплекс-методом приведено в двух таблицах:

95

Баз

Cбаз

Ao

5

2

4

5

2

 

 

 

A1

A2

A3

A4

A5

 

 

 

 

 

 

 

 

A3

4

8

1

2

1

0

0

A4

5

2

2

-4

0

1

0

A5

2

6

1

-2

0

0

1

Табл.1

 

54

11

-18

0

0

0

 

 

 

 

 

 

 

 

A2

2

4

1/2

1

1/2

0

0

A4

5

18

4

0

2

1

0

A5

2

14

2

0

1

0

1

Табл.2

 

126

20

0

9

0

0

 

 

 

 

 

 

 

 

Базисная матрица оптимального решения и обратная к ней матрица определяются из первой и второй таблицы, соответственно:

 

2

0

0

 

1

0

0

 

 

 

2

 

 

 

B ( A2 , A4 , A5 )

 

4

1

0

, B 1 2

1

0 ,

 

 

 

 

 

 

 

 

 

 

 

 

2

0

 

 

0

 

 

 

1

1

1

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

1

0

0

 

 

 

x , x , x

c

 

 

 

2

 

 

 

 

 

 

B 1

(2,5,2)

2

1

0

(13,5,2).

X

баз

1 2 3

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

Оптимальное значение целевой функции исходной задачи совпадает (согласно утверждению леммы 1.4) со значением целевой функции двойственной задачи, оно берется из второй таблицы:

Zопт=126.

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

B 1 .

Действительно, j c базB 1 Aj c j , т.е., если B 1 – матрица,

обратная базисной матрице оптимального решения прямой задачи, то согласно (1.72):

j y* Aj cj , где y* y1* ,y2* ,...,ym* .

96

Допустим Aj – единичный вектор с единицей в j-й позиции.

Тогда:

0

j y1* , y2* ,..., ym* 1 cj ,

0

откуда:

j y*j cj

или y*j j cj .

Таким образом, имеем следующее правило:

Для того чтобы получить оптимальное значение j-й двойственной переменной (j=1,2,...,m), достаточно взять оптимальную симплекс-таблицу и к оценке исходного единичного вектора с единицей в j-й позиции прибавить коэффициент, с которым переменная при этом единичном векторе входит в целевую функцию.

Действительно (см. оптимальную симплекс-таблицу примера

1.19),

x1* 3 c3 9 4 13

 

x2* 4 c4

0 5 5

, т.е.

x* 13,5,2 – результат тот же.

x*

5

c

0 2 2

 

 

3

5

 

 

 

Итак, первый и важнейший результат теории двойственности – это возможность резкого сокращения трудоемкости решения задач ЛП.

Это можно проиллюстрировать следующим образом

(рис.1.12).

97

extr extr

" "

" " В "лоб" = "="

extr

=

Рис.1.12. Переход к двойственной задаче

Таким образом, решается более простая двойственная задача,

ипо ее решению находится решение исходной задачи.

1.3.4.Экономическая интерпретация двойственности

Рассмотрим симметричную пару двойственных задач. Прямая задача Двойственная задача

c1x1+c2x2+...+cjxj +...+ cnxn max a11x1+a12x2+...+ a1jxj +...+a1nxn≤a1 a21x1+a22x2+...+ a2jxj +...+a2nxn≤a2

....................................................

ai1x1+ ai2x2 +...+ aijxj +...+ ainxn≤ai

....................................................

am1x1+am2x2+...+amjxj+...+amnxn≤am x j 0, ( j 1, n)

a1y1+a2y2+...+aiyi+...+amym min a11y1+a21y2+...+ai1yi+...+am1ym c1

a12y1+a22y2+...+ai2yi+...+am2ym c2

....................................................

a1jy1+a2jy2+...+aijyi+...+ amjym cj

....................................................

a1ny1+a2ny2+...+ainyi+...+amnym cn yi 0, (i 1,m)

Прямая задача, с экономической точки зрения, может быть интерпретирована как общая задача производственного планирования с m производственными факторами и n видами выпускаемой продукции (задача Канторовича): необходимо определить план выпуска продукции, приносящий максимальный доход. При этом сум-

98

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

Если aij >0, то в процессе производства единицы j-го вида продукции расходуется aij единиц i-го производственного фактора;

Если aij <0, то в процессе производства единицы j-го вида продук-

ции вырабатывается aij единиц i-го производственного фактора;

Если aij =0, то в процессе производства j-го вида продукции i-й производственный фактор не участвует.

Знак коэффициентов правой части системы ограничений может быть интерпретирован следующим образом:

Если ai >0, то к началу производства предприятие обладает запасом i-го производственного фактора в обеме ai единиц;

Если ai <0, то к началу производства i-й фактор не только отсут-

ствует, но и должен быть выработан в количестве, не меньшем ai в процессе производства;

Если ai =0, то i-й фактор к началу производства отсутствует, и без выработки затрачен быть не может (такой фактор можно интерпретировать как полуфабрикат).

Наконец, коэффициенты целевой функции имеют следующую интерпретацию:

Если cj >0, то производство единицы j-го вида продукции приносит доход в объеме cj рублей;

Если cj <0, то производство единицы j-го вида продукции прино-

сит убыток в объеме cj рублей;

Если cj =0, то производство j-го вида продукции не приносит ни прибыли, ни убытка.

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

n

m

c j x j ai yi

j 1

i 1

99

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

yi рубед, т.е. i-я переменная двойственной задачи представля-

ет собой некую денежную оценку i-го производственного фактора. Очевидно, что эта оценка не имеет никакого отношения к рыночной цене фактора, поскольку подобных данных в условиях задачи нет. Скорее, речь идет о некоторой «внутренней» оценке производственного фактора, определяемой в процессе решения задачи. В таком случае, целевая функция двойственной задачи представляет собой суммарную оценку запасов производственных факторов, имеющихся к началу производства (здесь для упрощения делается предположение, что все ai >0).

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

Рассмотрим ограничения двойственной задачи. Учитывая интерпретацию переменных двойственной задачи, левая часть её j-го ограничения представляет собой суммарные затраты на производ-

100