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

Элементы теории двойственности (110

..pdf
Скачиваний:
0
Добавлен:
15.11.2022
Размер:
468.83 Кб
Скачать

C =(c1, ..., cn ) , где cj ( j =1, ..., n) является прибылью от реализации единицы

продукции вида j.

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

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

b1y1 + b2 y2 + ... + bm ym min .

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

a11 y1 + a21 y2 +... + am1 ym c1,

 

+ a22 y2

+ + am2 ym c2 ,

a12 y1

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

 

 

 

 

 

 

 

a y + a

y

2

+... + a y

m

c .

1n 1

2n

 

mn

n

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

bΤ y min,

AΤ y C, y 0.

Ее содержательной интерпретацией является следующая постановка: найти такой набор цен (оценок) ресурсов Y = ( y1, ..., ym ) , при котором об-

щие затраты на ресурсы будут минимальными при условии, что затраты на ресурсы при производстве каждого вида продукции будут не менее прибыли от реализации этой продукции. Экономический смысл двойственной переменной состоит в том, что цены ресурсов y1, ..., ym являются внутренни-

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

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

В соответствии со второй теоремой двойственности план X * = (x1* , ..., xn* ) исходной задачи и план Y * =( y1* , ..., ym* ) двойственной зада-

11

чи являются оптимальными планами этих задач тогда и только тогда, когда выполняются равенства

( Ax* b)Τ y* = 0,( AΤ y* C )Τ x* = 0.

Если (Ax* )i < bi , то по второй теореме двойственности yi* = 0 , то есть

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

Теорема

Компоненты оптимального решения двойственной задачи равны значениям частных производных линейной функции f (b1, ..., bm ) по соответст-

вующим аргументам, то есть

bfi = yi .

Доказательство.

Рассмотрим производную по направлению S

f

= lim

f (b + εS ) f (b)

= ST f (b) .

S

ε

ε→0

 

Из первой теоремы двойственности следует равенство f (b) = CT x = bT y .

Тогда f (b + εS ) = (b + εS )Τ y* = bΤy* + εS Τy* . При малых ε можно записать Sf = sT y , то есть y = f (b) .

Следовательно, bfi = yi – измеритель эффективности, показывающий,

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

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

самое, все затраты сырья известны ai n+1 i =1,m, цена единицы продукции

12

известна и равна Cn+1. Нужно установить: даст ли прибыль включение в

план выпуска дополнительной продукции?

Вопрос заключается в следующем: как среагировать на поставленное предложение, не решая задачу заново, без затрат временных и трудовых ресурсов? В действительности это можно сделать, сопоставив дополнительные затраты на ресурсы в расчете на единицу продукции xn+1 с ценой ее

m

реализации. С этой целью расход на выпуск изделия ain+1yi* нужно срав-

i =1

нить с доходом Cn+1 . Если затраты больше дохода, то предложение не вы-

годно. Если же иначе, на предложение стоит отреагировать положительно. Данные выводы справедливы только в рамках устойчивости двойст-

венных оценок.

Вопросы устойчивости

B1b

Пусть x* = – оптимальный план исходной задачи,0 Rn

y* = CBΤB1 – вектор двойственных оценок.

Всякое изменение задачи может изменить оптимальный базис.

1. Предположим, что цены на продукцию изменились на

C . Извест-

но, что j = CBΤB1 Aj C j

0, j =

 

. Тогда базис остается оптимальным,

1, n

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

 

нj

0, j =

 

.

 

 

 

 

 

 

 

1, n

 

 

 

 

= C +

C

Τ

B1A

j

C

j

 

C

j

= C ΤB1A

j

C

 

+

j

(

 

 

 

)B

 

 

 

 

 

 

 

 

 

B

 

j

 

+

C ΤB1A

 

C

 

 

=

 

 

+ δ

 

0, j =

 

.

 

 

 

 

j

j

 

j

j

1, n

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В этом случае базис остается прежним (оптимальным) и оптимальный план остается прежним. Новые двойственные оценки имеют вид

y* = C + C

Τ

B1

=C ΤB1

+

(

C

Τ

B1

= y* .

(

)B

 

B

 

 

)B

 

 

…%"

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

b , тогда для то-

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

xBнов = B1 (b + b) = B1b + B1 b 0 .

При этом оптимальное значение целевой функции изменится на y bΤ .

Анализ задачи на примере.

Компания по производству бижутерии изготавливает три типа изделий: А, Б, С. При изготовлении разные типы украшений должны обрабатываться четырьмя машинами. Эти машины могут обрабатывать только одно изделие в каждый момент времени. Изготовление одной единицы А требует: 1 час

13

работы 1-й машины, 2 часа – 2-й, 1 час – 3-й. Для изготовления одной единицы Б нужно: 2 часа – 1-й, 1 час – 2-й, 1 час – 3-й, 1 час – 4-й. Для одной единицы С необходимо: 1 час – 1-й, 1 час – 2-й, 1 час – 4-й. Первая машина может работать 18 часов в неделю, вторая – 16, третья – 8, четвертая – 6. Изделие А приносит 3 руб. прибыли на единицу, Б – 4 руб., С – 2 руб. Предполагается, что спрос на изделия превышает их предложение. Определить, сколько бижутерии каждого вида нужно выпускать компании каждую неделю, чтобы прибыль ее была максимальной.

Решение.

Для решения этой задачи обозначим через x1 объем выпуска изделия А, x2 – объем выпуска изделия Б, x3 – объем выпуска изделия С. Построим следующую математическую модель:

3x1 + 4x2 + 2x3 max,

 

x1 + 2x2 + x3 18,

 

 

 

 

 

 

 

2x1 + x2 + x3 16,

 

 

+ x2 8,

 

x1

 

x

+ x

6,

 

2

 

3

 

 

 

x 0.

 

 

 

Модель, двойственная к ней:

 

 

 

18y1 +16 y2 +8y3 + 6 y4 min,

 

y1 + 2 y2 + y3 3,

 

 

 

 

 

 

(*)

2 y1 + y2 + y3 + y4 4,

y + y

2

+ y

4

2,

 

1

 

 

 

y 0.

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

B

CB

b

A13

A2 4

A3 2

A4 0

A5 0

A6 0

A7 0

A4

0

18

1

2

1

1

0

0

0

A5

0

16

2

1

1

0

1

0

0

A6

0

8

1

1

0

0

0

1

0

A7

0

6

0

1

1

0

0

0

1

 

 

 

–3

–4

–2

0

0

0

0

A4

0

6

1

0

–1

1

0

0

–2

A5

0

10

2

0

0

0

1

0

–1

A6

0

2

1

0

–1

0

0

1

–1

14

B

CB

b

A13

A2 4

A3 2

A4 0

A5 0

A6 0

A7 0

A2

4

6

0

1

1

0

0

0

1

 

 

 

–3

0

2

0

0

0

4

A4

0

4

0

0

0

1

0

–1

–1

A5

0

6

0

0

2

0

1

–2

1

A1

3

2

1

0

–1

0

0

1

–1

A2

4

6

0

1

1

0

0

0

1

 

 

 

0

0

–1

0

0

3

1

A4

0

4

0

0

0

1

0

–1

–1

A3

2

3

0

0

1

0

1/2

–1

1/2

A1

3

5

1

0

0

0

1/2

0

–1/2

A2

4

3

0

1

0

0

–1/2

1

1/2

 

 

 

0

0

0

0

1/2

2

3/2

Из таблицы видно, что базис состоит из векторов A4 , A3 , A1, A2 .

 

0

1

/ 2

0

−1 / 2

 

 

 

 

0

−1 / 2 1

1 / 2

 

 

x* = (5, 3, 3) .

B1 =

 

,

 

0

1

/ 2

−1

1 / 2

 

 

 

 

1

 

0

−1

−1

 

 

 

 

 

 

 

 

Из доказательства первой теоремы двойственности видно, что оптимальное значение двойственных пар находятся в оценочной строке сим-

плексной таблицы на заключительной итерации. В нашем случае

0

 

 

 

 

y* = 1 / 2

.

 

2

 

 

3 / 2

 

 

 

Оптимальное значение целевой функции исходной задачи F max = 33,

 

 

1

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

дачи F min = 33.

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В процессе деятельности предприятия возможны:

 

 

 

1) изменение цены на

C =

(

 

)

 

 

 

сохранится ли опти-

 

0,−1,1 . Проверим,

мальный базис или нет:

 

 

 

 

 

+ δ j ≥ 0,

 

 

 

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

δ j = CBΤB1 Aj C j .

 

 

 

 

 

j + δ j

 

 

0

 

 

0

 

0

 

0

 

3/2

0

3/2

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

Неравенство j + δ j ≥ 0 выполняется, значит базис остается прежним. Двойственные оценки будут иметь следующий вид:

 

 

 

 

 

 

 

 

 

 

0 1/ 2

 

0

1/ 2 0

 

 

 

 

 

 

 

 

 

 

 

0

−1/ 2

1

1/ 2

 

 

3/ 2

 

y

нов

= (С + С)B B

1

 

 

 

 

 

 

 

 

 

 

= (3 3 3 0)

0 1/ 2

 

−1 1/ 2

 

=

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

 

−1

−1

 

 

3/ 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оптимальное значение целевой функции не меняется;

 

 

 

 

2) изменение запаса ресурсов на b = (6, − 3, 2, 2) .

 

 

 

 

 

Проверим устойчивость оценок; из вышеизложенного известно, что

оценки устойчивы, если выполняется неравенство x* + B1 b ≥ 0 .

 

 

Произведем вычисления:

0 −1 / 2

 

 

 

−5 / 2

 

 

 

 

 

 

 

0 1 / 2

 

6

 

 

 

 

 

 

 

 

0

−1 / 2 1

 

1 / 2

 

−3

 

 

9 / 2

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

0 1 / 2 −1 1 / 2

 

2

 

−5 / 2

 

 

 

 

 

 

 

 

1

 

0

−1

 

−1

 

2

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

−5 / 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

9 / 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

≥ 0,

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

−5 / 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

2

 

 

 

 

 

 

 

 

 

 

 

значит, оценки устойчивы.

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

Li = ( yопт )i bi ,

тогда

L1 max = ( y%C2 )1 b1 = 0 6 = 0 ,

L2 max = ( y%C2 )2 b2 = 12 (1) = − 3 2 , L3 max = (y%C2 )3 b3 = 2 2 = 4 ,

L4 max = (y%C2 )4 b4 = 3 2 2 = 3 .

Суммарное влияние на прибыль равно

L

= L

+ L

+ L

+ L

= 0 3

+ 4 + 3 = 11

2

условных еди-

max

1 max

2 max

3 max

4 max

2

 

 

 

 

 

 

ниц.

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

16

плексным методом с изменением количества сырья соответствующих видов;

3) Оценим рациональность ввода дополнительного изделия в производство. Пусть имеется четвертое изделие и доход на единицу продукции от него составляет C4 = 5 , а затраты ресурсов равны соответственно

32 ai 4 = 2 ,1

тогда затраты на сырье будут равны aiT4 y ,

 

 

 

 

0

 

 

 

 

 

 

 

(3 2 2 1)

1 / 2

 

= 13 / 2.

 

2

 

 

 

3 / 2

 

 

 

 

 

 

Так как 132 > 5, затраты на ресурсы (13 2) превышают доход от реализации

(5), выпуск этого изделия нам невыгоден, то есть мы отвергаем поступившее предложение.

17

3. ДВОЙСТВЕННЫЙ СИМПЛЕКС-МЕТОД

Опираясь на взаимосвязь между исходной и двойственной моделями, можно построить еще один метод решения задачи линейного программирования (ЗЛП). Рассмотрим такой алгоритм решения исходной задачи, для которого на каждой итерации, за исключением последней, решение оказывается недопустимым вследствие невыполнения условий неотрицательности переменных; соответствующее же решение двойственной задачи при каждой такой итерации является допустимым. Эта идея лежит в основе так называемого двойственного симплекс-метода.

В общем случае ЗЛП имеет вид

cT x max,

Ax b, x 0,

cT = (c , ..., c ) ,

xT = (x , ..., x ) , bT = (b , ..., b ) ,

A = (a ), где i =

1,m

, j =

1,n

.

1

n

1

n

1

m

ij

Для решения задачи двойственным симплексным методом необходимо задачу привести к каноническому виду. В стандартной симплекс-процедуре осуществляется перебор базисов B (невырожденных подматриц исходной матрицы A ) следующим образом:

1. На каждой итерации метода вектор

допустимым в исходной задаче, то есть AxB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

B

= x

, где x = B1b является

 

 

0

 

 

 

 

 

 

 

 

 

 

 

= b , xB 0 .

2. На заключительной итерации, когда получена оптимальная точка и,

кроме того,

оценки всех векторов Aj неотрицательны, j =CBT B1 Aj cj 0 ,

j =

 

или

CBT B1 A = yT A = AT y c , то есть вектор y =CBT B1 является до-

1, n

пустимым в двойственной задаче. При этом он является решением двойственной задачи. Заметим, что часть ограничений двойственной задачи вы-

полняется в виде равенств ( AT y) = cj , j I , где I – множество базисных индексов (так как оценки базисных векторов равны нулю j = 0, j I ). Такие точки y называются базисными в двойственной задаче.

Перебор базиса осуществляется по правилу Жордана – Гаусса ( B1 ... B* ). Все изменения в методе связаны с правилом выбора на-

правляющего элемента.

Пусть есть ситуация, в которой

j = CBT B1 Aj cj 0

18

и при этом существует по крайней мере одна координата (B1b)l < 0 . Тогда

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

на Ak , то есть направляющим элементом является alk . Формулы пересчета при этом имеют вид

aн

= a

alj

a ,

 

ij

 

 

ij

 

 

 

ik

 

 

 

alj

 

 

alk

a kjн=

 

,

 

 

alk

 

 

 

 

 

 

 

 

 

 

bн

=

bl

 

, в данном случае a < 0.

 

k

 

alk

 

 

 

lk

 

 

 

 

 

 

Таким образом, вектор Ak

встал на место Al . Пусть множество базис-

ных индексов I = 1, ..., m . Рассмотрим, как связаны новые оценки с преды-

{

}

 

 

 

 

 

 

 

 

 

дущими.

 

 

 

 

 

 

 

 

 

 

 

 

 

alj

 

alj

 

 

 

нj = ciaijн + ck akjн cj = ci (aij

) + ck

cj

= ciaij

cj

 

 

 

i I

i I

 

alk

alk

i I

 

 

 

il

il

 

 

 

 

 

 

 

 

 

 

 

 

 

 

il

 

 

 

 

alj

 

alj

 

 

 

 

 

 

alj

 

 

 

 

 

 

ciaik + ck

 

= ciaij

cj

 

 

 

 

(ciaik ck ).

 

alk

alk

 

 

alk il

i I

 

 

 

 

 

 

 

 

i I

 

Таким образом получаем

 

 

 

 

alj

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

0.

 

 

 

 

j

 

 

 

 

 

 

k

 

 

 

 

 

 

j

 

 

 

alk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отсюда следует правило для нахождения alk :

 

 

 

 

 

 

k

 

= min

 

 

 

j

.

 

 

 

 

 

 

 

a

 

 

 

a

 

 

 

 

 

 

 

 

 

 

j:alj <0

 

 

 

 

 

 

 

 

 

 

 

 

 

lk

 

 

 

 

 

 

 

lj

 

 

Если для некоторого l bl < 0 , а все alj

 

0 , то задача неразрешима и на

этом процесс вычислений заканчивается.

Если для каждого l bl < 0 и по крайней мере одна из компонент alj < 0 ,

то переходим к следующему этапу алгоритма.

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

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

19

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

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

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

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

n

 

 

 

 

 

 

 

cj xj min

(1)

j=1

 

 

 

 

 

 

 

при условиях

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

aij xj

bi , i =

 

,

(2)

1, m

j=1

 

 

 

 

 

 

 

x j

0,

 

 

 

 

 

(3)

где

 

 

 

 

 

 

 

cj

0 ,

j =

 

.

(4)

1, n

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

Действительно, перейдем от (1) – (3) к эквивалентной задаче в расши-

ренной форме, введя дополнительные переменные xn+1, xn+2 , ...,

xn+m .

n

 

c j x j max

(5)

j=1

 

при условиях

 

n

 

aij xj xn+i =bi , i =

 

 

, xj 0 , j =

 

.

(6)

1, m

1, n

j=1

 

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

 

m

 

 

 

aij y j ≥ −c j , j =

1, n

,

(7)

i=1

 

yi 0 , i =

 

.

(8)

1, m

20

 

 

 

 

 

 

 

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]