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

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

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

1.3.1. Модели двойственных задач в линейном программировании

Без потери общности возьмем в качестве исходной задачи задачу линейного программирования в канонической форме (эту задачу далее будем называть также прямой):

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)

или в матрично-векторной форме:

c, x max

 

AX A0

 

 

x 0.

 

Задачей, двойственной к (1.60), назовем задачу:

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 – не ограничены в знаке (i=1, 2, … , m) или в матрично-векторной форме:

 

T

, y min

A0

 

AT Y C,

(1.60)

(1.61)

(1.62)

(1.63)

где

y=(y1, y2, …, ym) – вектор-строка переменных двойственной задачи; Y=(y1, y2, …, ym)T – вектор-столбец переменных двойственной задачи;

81

AT – транспонированная матрица коэффициентов левой части системы ограничений прямой задачи (1.60);

C=(c1, c2, …, cm)T – вектор-столбец, составленный из коэффициентов целевой функции прямой задачи (1.60).

Пример 1.18

Дана задача ЛП в канонической форме:

3x1

 

x2

 

2x3

 

x4

 

max

2x1

x2

4x3

x4

 

10

3x1

2x2

x3

 

2x4

 

8

4x1

 

x2

 

2x3

 

 

 

4

 

 

 

 

 

 

 

 

 

 

x j 0,

j 1, 4.

 

 

 

 

 

 

Двойственная к этой задаче задача имеет вид:

10 y1

8y2

4 y3

min

2 y1

3y2 4 y3 3

y1 2 y2 y3

1

4 y1

y2

2 y3

2

y1

2 y2

 

1

y1,y2 не ограничены в знаке.

Задачи (1.60) и (1.62) – взаимно-двойственные в том смысле, что, приняв в качестве прямой задачу (1.62), можно перейти к двойственной задаче, которая с точностью до обозначения переменных будет иметь вид задачи (1.60). Проиллюстрируем этот переход, используя эквивалентные преобразования, описанные в разделе 1.2.

Шаг 1. Изменение направления оптимизации и неравенств в задаче (1.63). Эквивалентная задача:

A0T , y max

 

AT Y C.

 

Шаг 2. Введение требования неотрицательности переменных путем их замены:

 

T

 

 

max

 

A0 ,(y

 

y )

T

 

 

C

 

A (Y

 

Y )

 

y 0, y 0,

 

 

 

 

 

 

82

 

где y y1 ,y2 ,...,ym , y = y1 ,y2 ,...,ym .

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

 

 

T

 

 

 

 

 

 

A0

,(y

y ) max

T

(Y

 

 

 

 

 

A

 

Y ) EZ C

 

 

 

 

 

 

 

 

y 0, y 0, z 0,

где Z z1 ,z2 ,...,zn Т ,

zj 0, j 1,2,...,n .

Шаг 4. Построение двойственной задачи:

 

c, x min

 

 

 

AX A0

 

 

 

 

 

 

 

 

AX A0

 

 

 

 

 

 

 

 

 

 

E

T

X 0.

 

 

 

 

 

 

Шаг 5. Изменение направления экстремизации и замена нестрогих неравенств равенствами:

c, x max

 

AX A0

 

 

x 0.

 

Таким образом, получена задача, имеющая вид задачи (1.61). Задачи (1.60) и (1.62) называются несимметричной парой

двойственных задач.

Пусть теперь прямая задача имеет симметричную форму:

c, x max

 

 

AX A0

(1.64)

 

 

x 0.

 

 

 

Построим двойственную задачу:

Шаг 1. Приведение задачи к канонической форме:

c, x max

 

 

AX EZ A0

 

x 0, z 0.

 

83

Шаг 2. Построение двойственной задачи:

 

T

, y >→min

< A0

 

AT Y C

 

 

EY 0.

 

 

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

 

T

, y >→min

 

< A0

(1.65)

 

AT Y C

 

 

y 0.

 

 

 

 

Следует обратить внимание на то, что в двойственной задаче сохранилось требование неотрицательности переменных.

Задачи (1.64) и (1.65) называются симметричной парой двойственных задач.

Можно показать, что задачи (1.64) и (1.65) являются взаимнодвойственными, т.е., если принять в качестве прямой задачу (1.65) , придать ей каноническую форму и построить двойственную к ней задачу, будет получена задача, которая с точностью до обозначения переменных будет совпадать с задачей (1.64).

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

Прямая задача

 

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

< c, x >→ max

 

< AT , y >→ min

AX = A0

 

 

0

 

 

x 0

 

AT Y C

 

 

 

 

 

<c, x >→min

 

< AT , y >→max

AX = A0

 

 

0

 

 

x 0

 

AT Y C

 

 

 

 

 

< c, x >→ max

 

< A0T , y >→ min

AX A0

 

AT Y C

x 0

 

y 0

 

 

 

 

84

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

Прямая задача на максимум целевой функции

Прямая задача

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

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

Правая часть системы

<c,x>max

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

Правая часть системы

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

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

< AТ , y >→ min

0

0

i -e ограничение: "="

i-я переменная: yi не ограничена

в знаке

 

i-e ограничение: " "

i -я переменная: yi 0

i -e ограничение: " "

i -я переменная: yi 0

j-я переменная: xj не ограничена

j -e ограничение: " = "

в знаке

 

j -я переменная: xj 0

j -e ограничение: " "

j -я переменная: xj 0

j -e ограничение: " "

85

Прямая задача на минимум целевой функции

Прямая задача

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

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

Правая часть системы

<c,x>min

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

Правая часть системы

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

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

< A0Т , y >→ max

i -e ограничение: " = "

i -я переменная: yi

не ограничена в знаке

 

i -e ограничение: " "

i-я переменная: yi 0

i -e ограничение: " "

i -я переменная: yi 0

j -я переменная: xj

j -e ограничение: " = "

не ограничена в знаке

 

 

j -я переменная: xj 0

j -e ограничение:

" "

j -я переменная: xj 0

j -e ограничение:

" "

1.3.2. Связь двойственных задач

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

В основном рассматривается несимметричная пара взаимнодвойственных задач (1.60) и (1.62).

ЛЕММА 1.3. (о допустимых решениях прямой и двойственной задачи).

Пусть дана прямая задача:

< c, x >→ max

 

AX = A0

 

 

x 0

 

и двойственная к ней:

 

 

T

< A0 , y >→min

 

AT Y C.

Пусть далее x =(x1 ,x2 ,...,xn ) и y =(y1 , y2 ,..., ym ) любые допустимые решения прямой и двойственной задачи соответст-

венно.

Тогда имеет место следующее соотношение:

86

c, x A0T , y

(1.66)

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

Доказательство. Умножим левую и правую части первого огра- ничения-уравнения прямой задачи на y1 , второго ограничения – на

y2 , и т.д., после чего сложим все полученные уравнения. Результат

этого сложения в форме скалярного произведения векторов будет иметь вид:

 

 

 

)T , y AT

, y ,

( AX

0

 

 

 

или

 

 

 

 

 

)T , x AT , y .

( AT Y

0

 

 

C, от-

Ввиду допустимости решения y , справедливо AТY

куда:

0

 

 

 

 

 

c,x AТ , y ,

0

 

 

 

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

 

 

 

ЛЕММА 1.4 (об оптимальных решениях прямой и двойственной задачи).

Если на некоторых допустимых решениях x x1 ,x2 ,...,xn прямой и y y1 , y2 ,..., ym двойственной задачи нестрогое неравенство (5) обращается в строгое равенство, то x x1 ,x2 ,...,xn

иy y1 , y2 ,..., ym оптимальные решения прямой и двойствен-

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

 

x – не оптималь-

Доказательство. Пусть c, x = AТ , y , но

 

 

 

0

 

ное

решение.

Следовательно,

существует

такое решение

x0 x10 , x20 ,..., xn0 ,

что c,x0 > c, x или

c,x0 > A0Т , y ,

а это

противоречит утверждению

леммы 1.3.

Следовательно,

x x1 ,x2 ,...,xn – оптимальное решение прямой задачи.

Пусть теперь c, x = A0Т , y , но y y1 ,y2 ,...,ym – не оптимальное решение. Следовательно, существует такое решение

87

y0 y10 , y20 ,...,ym0

 

что:

A0Т , y0 A0Т , y

или

c, x > AТ , y0

, а это противоречит утверждению леммы 1.3.

0

 

y y1 ,y2 ,...,ym

 

 

Следовательно,

 

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

венной задачи. Утверждение доказано.

ТЕОРЕМА 1.6 (первая теорема двойственности для несимметричной пары двойственных задач).

1.Если одна из задач (1.60) или (1.62) имеет оптимальное решение, то и другая задача имеет оптимальное решение, причем, оптимальные значения целевых функций этих задач совпадают.

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

Доказательство. Пусть задача (1.60) решена симплекс-методом и

x1* ,x2* ,...,xn* , и

B Ai1 ,Ai2 ,...,Aim – базис этого решения. Тогда оценки всех векторов, вычисленные на последней итерации, неотрицательные, т.е.:

 

m

 

j cik xkj cj cбаз X j cj cбазB 1 Aj cj 0.

 

k 1

Здесь используются следующие обозначения:

cбаз (сi

, ci

, ... , ci ) – вектор коэффициентов целевой функ-

1

2

m

ции;

 

 

X j x1j ,x2j

,...,xmj Т – вектор-столбец коэффициентов разло-

жения вектора Aj

по базису .

Рассмотрим выражение:

cбаз B 1 Aj c j , ( j

1, n

).

(1.67)

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

 

( y1 , y2 ,..., ym ) cбаз B 1.

(1.68)

Отсюда , учитывая (1.67), имеем систему неравенств:

 

88

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

1 j

 

 

 

 

 

 

 

 

 

a2 j

 

 

 

 

( y , y

 

,..., y

 

)

cj

, ( j 1,n) .

2

m

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

mj

 

 

 

 

В матричной форме эта система имеет вид: AТY C, т.е., вектор y , построенный в соответствии с выражением (1.68), удов-

летворяет всем ограничениям двойственной задачи (1.62). Найдем значение целевой функции двойственной задачи на

допустимом решении y y1 ,y2 ,...,ym :

y, A0T cбаз B 1 , A0T cбаз ,(B 1 A0 )T .

Учитывая, что (B 1 A0 )T x10 ,x20 ,...,xm0 X0T – вектор оптимальных значений базисных переменных задачи (1), имеет местоcбаз , X0Т c,x* . Следовательно:

y, A0T = cбаз ,X0Т c,x* ,

т.е., значение целевой функции прямой задачи на решении x0 совпадает со значением целевой функции двойственной задачи на ее допустимом решении y . Следовательно, решение y , в соответст-

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

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

одно из таких решений. Пусть целевая функция двойственной задачи на решении y принимает некоторое значение Q A0Т , y .

Ввиду того, что целевая функция прямой задачи (1.60) не ограничена сверху на допустимом множестве, всегда найдется такое допустимое решение x (x1 ,x2 ,...,xn ) , на котором имеет место

c,x > Q , что противоречит утверждению леммы 1.3 о допусти-

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

89

Ввиду того, что задачи (1.60) и (1.62) взаимно-двойственны, в качестве прямой задачи можно взять задачу (1.62) и повторить приведенное выше доказательство. Теорема доказана3.

ТЕОРЕМА 1.7 (вторая теорема двойственности для несимметричной пары двойственных задач).

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

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

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

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.69)

Достаточность. Очевидно, что при выполнении (1.69) будут выполняться и все равенства, полученные из этих условий:

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

Просуммируем эти равенства по всем j=1,2,...,n и перегруппируем слагаемые в левой части полученного выражения:

m

i 1

n

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

Но x – допустимое решение, значит:

ai1 x1 ai 2 x2 ... ain xn ai (i 1,m ) .

3 Эта теорема справедлива и для симметричной пары двойственных задач (1.61) и (1.62) .

90