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

Лекции Хуторецкий

.pdf
Скачиваний:
23
Добавлен:
28.03.2016
Размер:
1.37 Mб
Скачать

при uj и vj в ограничениях с номерами i 1, m и в ЦФ имеют значения aij, cj и –aij, –cj соответ-

ственно. В двойственной задаче переменным uj и vj соответствуют ограничения

m

m

m

aij yi

cj и (aij ) yi

≥ –cj, которые можно заменить уравнением aij yi = cj.

i 1

i 1

i 1

Учитывая эти рассуждения, изменим правило П4 следующим образом.

П4'. Левую и правую части двойственного ограничения соединяем знаком «≥», если со-

ответствующая переменная прямой задачи неотрицательна; знаком «≤», если она неположи-

тельна; знаком равенства, если переменная не ограничена по знаку.

Если в задаче P есть ограничение

n

 

 

aij x j ≤ (≥) bi,

 

j 1

 

 

то в канонической форме есть переменная недостатка (избытка) si ≥ 0 и ограничение

 

n

 

 

aij x j

+ (–) si = bi.

(24)

j 1

 

 

Тогда по правилам П2 – П4 в задачах P*

и P* возникает соответствующее переменной si ог-

1

 

 

раничение yi ≥ 0 (–yi ≥ 0), где yi ― двойственная переменная, сопоставленная ограничению

(24) по правилу П1. Поэтому нужно ввести следующее правило П5.

П6. Если в ограничении прямой задачи стоит знак «≤», то двойственная переменная не-

отрицательна; если знак «≥», то она неположительна; если «=», то двойственная переменная не ограничена по знаку.

Наконец, определим двойственную задачу для ЗЛП, в которой целевая функция мини-

мизируется.

Определение. Задача P является двойственной для линейной задачи минимизации Q,

если Q совпадает с P*.

Следствие 2.4. (P*)* = P, задачи P и P* являются взаимно двойственными.

Из последнего определения ясно, что для построения задачи, двойственной к задаче минимизации, нужно: правила П1 – П3 оставить без изменений; в правилах П4' и П6 поме-

нять местами знаки неравенств; в правиле П5 указать, что в задаче, двойственной для задачи минимизации, ЦФ следует максимизировать.

Определение. Координаты оптимального решения двойственной задачи называют

двойственными оценками ограничений. Эквивалентные термины: теневые цены, объективно обусловленные оценки.

21

2.4.4. Основные теоремы

Основные теоремы теории двойственности устанавливают связи между прямой и двой-

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

тем переносят на общий случай. Мы будем использовать в качестве исходной каноническую форму ЗЛП.

В разделе 2.5.3 описан алгоритм приведения произвольной ЗЛП к канонической форме.

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

Обозначения. Пусть P ― произвольная ЗЛП с максимизируемой целевой функцией, P1

― ее каноническая форма, полученная описанным в разделе 2.5.3 способом, P* ― задача,

двойственная для P и P1. Векторы переменных, целевые функции, множества допустимых и оптимальных решений задач P, P1 и P* обозначим соответственно: x, z и y; f(x), f1(z) и h(y); X,

Z и Y; X *, Z * и Y *.

Следствие 2.5.

(а) Если x X, то найдется вектор z Z такой, что f1(z) = f(x). Если z Z, то существует x X такой, что f1(z) = f(x).

(б) Совместность задачи P эквивалентна совместности P1.

(в) Неограниченность задачи P эквивалентна неограниченности P1.

Доказательство. Задача P1 построена по задаче P, как описано в разделе 2.5.3. Из по-

строения следует утверждение (а). Из (а) с очевидностью следуют (б) и (в). #

Теорема 2.5 (критерий разрешимости ЗЛП).(1) Если задача P совместна и ограниченна,

то она разрешима.

Вспомним, что P* = P* по определению.

1

Теорема 2.6 (основное неравенство теории двойственности). Для любых x X и y Y

справедливо неравенство f(x) ≤ h(y).

Доказательство. Пусть x X и y Y. Предположим сначала, что задача P записана в ка-

нонической форме (12) – (14). Тогда задача P* имеет вид (23), A x = b, x ≥ 0n, y A c. Следова-

тельно, y b = y(Ax) = (yA)x с x.

Пусть теперь P ― задача общего вида. Мы доказали, что f1(z) ≤ h(y) для любого z Z. По утверждению (а) следствия 2.5 для x X найдется вектор z Z такой, что f1(z) = f(x). Поэтому f(x) ≤ h(y). #

(1) Доказательство для канонической формы: Васильев Ф.П., Иваницкий А.Ю. Линейное программирование. М.: Факториал, 1998 (теорема 5.2). По следствию 2.5 переходим к общему случаю.

22

Следствие 2.6. Если одна из задач P, P* совместна, то другая ограниченна.

Доказательство. Предположим, что задача P*совместна и y Y. Тогда f(x) ≤ h(y) для всех x X. Случай совместности задачи P рассматривается аналогично. #

Следствие 2.7. Для разрешимости задач P и P* необходимо и достаточно, чтобы они обе были совместны.

Доказательство. Необходимость очевидна, докажем достаточность. Пусть задачи P и P* совместны. Тогда обе они ограниченны по следствию 2.6. Теперь разрешимость задач P и P* следует из теоремы 2.5. #

Теорема 2.7 (первая теорема двойственности).(1) Задача P разрешима тогда и только то-

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

Следствие 2.8 (критерий оптимальности). Пусть x* X, y* Y. Равенство f(x*) = h(y*) не-

обходимо и достаточно для того, чтобы x* и y* были оптимальными решениями задач P и P*

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

Доказательство. Необходимость следует из теоремы 2.7. Докажем достаточность. Пусть x* X, y* Y и f(x*) = h(y*). Тогда, по теореме 2.6, f(x) ≤ f(x*) для всех x X и h(y) ≥ h(y*)

для всех y Y. #

Еще один критерий оптимальности дает следующая теорема.

Теорема 2.8 (вторая теорема двойственности, теорема равновесия). Векторы x X и y Y

оптимальны в задачах P и P* соответственно, если и только если выполняются условия до-

полняющей нежесткости:

n

m

 

уi( aij x j

bi) = 0 для всех i; xj( aij yi cj) = 0 для всех j.

(25)

j 1

i 1

 

Доказательство. Пусть x X и y Y.

1. Предположим, что x и y оптимальны в задачах P и P* соответственно. Тогда, по след-

ствию 2.8,

n

c j x j

j 1

m

 

= f(x) = h(y) = bi yi .

(26)

i 1

Из правила построения двойственной задачи П4' следует, что

m

xj( aij yi cj) ≥ 0 для всех j.

i1

(1)Для канонической формы результат следует из теоремы 7.1 книги, указанной в предыдущей сноске. Переход к ЗЛП в общей форме ― по следствию 2.5.

23

Аналогично, из правила П6 следует, что

n

yi( aij x j bi) ≤ 0 для всех i.

j 1

Поэтому, учитывая (26),

n

m

0 ≤ x j ( aij yi c j )

j 1

i 1

n m

n

n m

m

m

n

= aij xj yi

c j x j

= aij xj yi

bi yi

= yi ( aij xi bi ) ≤ 0.

j 1 i 1

j 1

j 1 i 1

i 1

i 1

j 1

Следовательно, первая и последняя суммы равны нулю. Но все слагаемые первой сумы неот-

рицательны, а последней ― неположительны. Значит, эти слагаемые равны нулю, что дока-

зывает равенства (25).

2. Предположим, что условия (25) выполнены. Тогда

n

m n

m

f(x) = c j x j

= aij xj yi

= bi yi = h(y),

j 1

i 1 j 1

i 1

x и y оптимальны в задачах P и P* соответственно по следствию 2.8. #

2.4.5.Интерпретации

Вэтом разделе обсудим задачу P

f(x) = c j x j max при условиях aij x j bi для i 1, m , x 0n,

j j

интерпретация которой изложена в разделе 2.2.

Двойственная задача P* имеет вид

h(y) = bi yi min при условиях aij yi cj для j 1, n , y 0m.

i

i

Первая теорема двойственности утверждает, что если задача P разрешима, то сущест-

вуют теневые цены. Пусть x* и y* ― оптимальные решения задач P и P* соответственно (план производства и теневые цены). Ограничения задачи P означают ограниченность ресурсов

(ингредиентов). Ограничения задачи P* указывают основное свойство теневых цен: измерен-

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

По первой теореме двойственности минимальная стоимость принадлежащих предпри-

ятию ингредиентов (оптимальное значение ЦФ задачи P*) равна максимальной полезности,

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

меренной в теневых ценах) предприятию невыгодно, а при большей ― выгодно продать весь комплект ингредиентов, описанный вектором b. Это необходимое условие эффективного

24

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

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

f(x*) = h(y*) = bi yi*

i

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

имеет вид «единиц полезности на единицу ингредиента i». Можно предположить, что рост запаса ингредиента i вызывает пропорциональный рост максимальной полезности со скоро-

стью yi* . Это предположение для многих ситуаций подтверждено ниже формулами (27), (30)

и утверждением (б) теоремы 2.18. Следовательно, увеличение bi на небольшую величину ε позволит увеличить полезность примерно на ε yi* . Пусть pi ― текущая цена (в единицах по-

лезности) ингредиента i. Тогда предприятию выгодно купить некоторое количество ингреди-

ента i, если pi < yi* , и продать, если pi > yi* . Если же pi = yi* , то предприятие не может полу-

чить выгоду от изменения исходного запаса ингредиентов. В этом смысле теневые цены яв-

ляются ценами равновесия.

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

гредиентов:

zj = cj aij yi , z*j = cj aij yi* . i i

Величину z*j называют оценкой способа или его нормированной стоимостью. Ограничения задачи P* требуют, чтобы оценки всех способов были неположительны.

По второму из условий (25) z*j = 0, если x*j > 0. Это значит, что в оптимальном плане с ненулевой интенсивностью реализуются только способы, имеющие максимальные (нулевые)

оценки. В соответствии с первым из условий (25) в оптимальном плане ингредиент с поло-

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

Если решить задачу P с помощью надстройки «Поиск решения» MS Excel, то отчет об устойчивости в столбце «Результ. значение» таблицы «Изменяемые ячейки» указывает коор-

динаты оптимального плана. В столбце «Нормир. стоимость» той же таблицы находятся значения z*j .

25

В таблице «Ограничения» отчета об устойчивости приведены значения левых частей ограничений задачи P в оптимальном плане (столбец «Результ. значение») и теневые цены

(столбец «Теневая цена»).

2.5. Устойчивость задач линейного программирования

Теория устойчивости задач оптимизации изучает влияние изменений параметров зада-

чи на оптимальное решение и оптимальное значение ЦФ.

Определения и обозначения. Пусть зафиксирована ЗЛП (общего вида) P0 с матрицей A0 = ( aij0 | i 1, m , j 1, n ), вектором правых частей ограничений b0 = ( bi0 | i 1, m )T и вектором коэффициентов ЦФ c0 = ( с0j | j 1, n ).

Заменив матрицу A0 и векторы b0, c0 на матрицу A Rm n и векторы b Rm, c Rn соответ-

ственно, получим возмущенную задачу P(A, b, c).

Набор (A, b, c) параметров возмущенной задачи будем считать точкой в пространстве

Rk, где k = mn + m + n.

Если задача P(A, b, c) разрешима, то функция значений V(A, b, c) в точке (A, b, c) опре-

делена и равна оптимальному значению ЦФ в задаче P(A, b, c).

2.5.1. Устойчивость для задачи в стандартной форме

Пусть задача P0 записана в стандартной форме:

f(c0, x) = c0, x → max при условиях A0x b0, x ≥ 0n.

Двойственная задача P0* имеет вид

h(b0, y) = y, b0 → min при условиях yA0 c0, y ≥ 0m.

Предположим, что задачи P0 и P0* разрешимы.

Обозначения.

x0 = ( x0j | j 1, n )T и y0 = ( yi0 | i 1, m ) ― оптимальные решения задач P0 и P0* соответст-

венно.

r ― число ограничений группы A0x b0, которые в точке x0 выполняются как равенства,

I ― множество номеров всех таких ограничений.

s ― число ограничений группы yA0 c0, которые в точке y0 выполняются как равенства,

J ― множество номеров всех таких ограничений.

Матрица A110 Rr s составлена из строк матрицы A0 с номерами i I и столбцов с номе-

рами j J. Матрица A120 Rr (ns) составлена из строк матрицы A0 с номерами i I и столбцов с номерами j J. Матрица A210 R(mr) s составлена из строк матрицы A0 с номерами i I и столб-

26

цов с номерами j J. Матрица A220 R(mr) (ns) составлена из строк матрицы A0 с номерами i I

и столбцов с номерами j J.

x01 = ( x0j | j J)T, x02 = ( x0j | j J); y01 = ( yi0 | i I), y02 = ( yi0 | i I). c01 = ( с0j | j J)T, b01 = ( bi0 | i I).

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

Следствие 2.9. x02 = 0ns, y02 = 0mr.

Доказательство. По определению множеств I и J ограничения задачи P0 с номерами i I и ограничения задачи P0* с номерами j J в точках x0 и y0 соответственно выполняются как строгие неравенства. Поэтому утверждение следует из теоремы 2.8. #

Следствие 2.10.(1) Допустим, что r = s = d, A110 ― квадратная невырожденная матрица.

Тогда x01 = ( A110 )–1 b01, y01 = c01( A110 )–1.

Определения и обозначения. Пусть A110 ― квадратная невырожденная матрица Положим x1(A, b, c) = A111 b1, y1(A, b, c) = c1 A111 .

Построим вектор x(A, b, c) следующим образом: в позиции с номерами j J поставим соответствующие координаты вектора x1(A, b, c), а остальные позиции заполним нулями.

Аналогично дополним вектор y1(A, b, c) до y(A, b, c).

Теорема 2.9 (о разрешимости возмущенной задачи). Допустим, что r = s = d, x01 > 0d, y01

> 0d, A110 ― квадратная невырожденная матрица. Тогда в некоторой окрестности O Rk точки (A0, b0, c0) функция V(A, b, c) определена.

Доказательство. Пусть A11 = (aij | i I, j J), b1 = (bi | i I)T, c1 = (cj | j J). В некоторой окрестности точки (A0, b0, c0) невырожденность матрицы A11 сохраняется, так как определи-

тель является непрерывной функцией элементов матрицы.

Из условия теоремы и следствия 2.10 заключаем, что x1(A, b, c ) > 0s и y1(A, b, c) > 0r в

некоторой окрестности точки (A0, b0, c0).

В некоторой окрестности точки (A0, b0, c0) векторы x(A, b, c) и y(A, b, c) неотрицатель-

ны, для них выполнены ограничения задачи P(A, b, c) с номерами i I и ограничения задачи P*(A, b, c) с номерами j J.

Остальные ограничения задач P(A, b, c) и P*(A, b, c) при (A, b, c) = (A0, b0, c0) для x0 и y0

выполняются как строгие неравенства. Но векторы x(A, b, c) и y(A, b, c) непрерывно зависят

(1) Доказательство оставляем читателю.

27

от A, b, c, поэтому значения левых частей ограничений в точках x(A, b, c) и y(A, b, c) тоже не-

прерывно зависят от параметров. Следовательно, в некоторой окрестности точки (A0, b0, c0)

векторы x(A, b, c) и y(A, b, c) удовлетворяют ограничениям задачи P(A, b, c) с номерами i I и

ограничениям задачи P*(A, b, c) с номерами j J. Тогда они допустимы в своих задачах.

Наконец,

f(c, x(A, b, c)) = c1 x1(A, b, c) = c1( A111 b1) = (c1 A111 ) b1 = y1(A, b, c) b1 = h(b, y(A, b, c)).

Тогда в некоторой окрестности точки (A0, b0, c0) векторы x(A, b, c) и y(A, b, c) оптимальны в задачах P(A, b, c) и P*(A, b, c) соответственно по следствию 2.8. #

Теорема 2.10 (об устойчивости ЗЛП в общей форме).(1) Если A110 ― квадратная невы-

рожденная матрица, функция V(A, b, c) определена в некоторой окрестности точки (A0, b0, c0)

и ( A0 )–1

= (αij | i I, j J), то:

 

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

V ( A0 ,b0 , c0 ) =

yi0 ,

V

( A0 ,b0 , c0 ) = x0j ,

V

( A0 ,b0 , c0 )

= – x0j yi0 для всех i, j;

 

 

bi

 

 

 

 

с j

aij

 

 

 

 

 

x j

 

 

 

 

 

x j

 

(27)

 

 

,b0 , c0 ) = αij, если i I и j J, иначе

 

 

 

 

 

( A0

 

( A0 ,b0 , c0 ) = 0.

 

 

b

b

 

 

i

 

 

 

 

 

i

 

 

Более подробный анализ устойчивости удобно провести для ЗЛП в канонической фор-

ме.

2.5.2. Каноническая форма: устойчивость оптимального базиса

Далее будем считать, что задача P0 имеет каноническую форму: f(c0, x) = c0, x → max при условиях A0x = b0, x ≥ 0n.

Двойственная задача P0* имеет вид (23):

h(b0, y) = y, b0 → min при условиях yA0 c0.

Учитывая следствие 2.1, будем считать, что строки матрицы A0 линейно независимы.

Обозначения.

Зафиксируем допустимый базис матрицы A0: β = ([A0]j(i) | i 1, m ).

B0 ― базисная матрица, соответствующая базису β в задаче P0.

D0 ― матрица, составленная из столбцов матрицы A0 с номерами j N(β) (небазисных столбцов) в том порядке, в котором они входят в матрицу A0.

B и D ― матрицы, составленные из столбцов матрицы возмущенной задачи P(A, b, c)

так же, как матрицы B0 и D0 составлены из столбцов матрицы A0.

(1) Доказательство: Интриллигатор М. Математические методы оптимизации и экономическая теория. М.: Айрис-пресс, 2002 (раздел 5.3). Это доказательство неявно использует доказанную выше теорему 2.9.

28

Теорема 2.11 (выражение ЦФ через небазисные переменные). Если β является базисом

матрицы А и x ― решение системы уравнений Ax = b, то

 

f(c, x) = F j ( A, c) x j , где F =cбB–1b, j(A, c) = cб B–1[A]j cj для j N(β).

(28)

j N ( )

 

Доказательство. Систему уравнений Ax = b запишем в виде Bxб + Dxн = b. По условию

матрица B невырожденная. Поэтому

 

xб = B–1(b Dxн).

(29)

Если произвольно зафиксировать xн Rnm и определить xб в соответствии с уравнением

(28), то получим решение исходной системы уравнений. И обратно, если x ― решение сис-

темы уравнений, то xб и xн связаны соотношением (28). Теперь

f(c, x) = с x = cб xб + cн xн, = cб(B–1b B–1Dxн) + cн xн = cбB–1b – (cбB–1D cн)xн.

Отсюда следует (28). #

Определения и обозначения.

x(A, b) ― базисное решение, соответствующее базису β в задаче P(A, b, c).

Для базиса β построим вектор (A, c) R1 n следующим образом: в базисные позиции поставим нули, а в небазисные ― числа j(A, c) из (27).

Базис β назовем оптимальным, если соответствующий вектор (A, c) неотрицателен.

Положим y(A, c) = cбB–1.

Теорема 2.12 (критерий оптимальности БДР). Если β ― допустимый базис в задаче

P(A, b, c) и j(A, c) ≥ 0 для всех j N(β), то x(A, b) является оптимальным решением задачи.

Доказательство. Пусть x ― допустимое решение задачи и все j(A, c) неотрицательны.

Тогда x ≥ 0n и f(c, x) ≤ F по (27). Небазисные координаты вектора x(A, b) равны нулю, следо-

вательно, f(c, x(A, b)) = F f(c, x). #

Следствие 2.11.(1) Набор столбцов β = ([A]j(i) | i 1, m ) является допустимым и опти-

мальным базисом в задаче P(A, b, c), если и только если выполнены следующие условия: det(B) 0, B–1b ≥ 0m, (A, c) ≥ 0n.

Теорема 2.13 (связь оптимальных решений с оптимальным базисом). Если β ― допус-

тимый и оптимальный базис в задаче P(A, b, c), то векторы x(A, b) и y(A, c) являются опти-

мальными решениями задач P(A, b, c) и P*(A, b, c) соответственно.

Доказательство. Пусть β ― допустимый и оптимальный базис в задаче P(A, b, c). Выберем j N(β). В матрице D есть столбец [A]j = (a1j, …, amj)T. Пусть y(A, c) = (y1, …, ym). Из (27)

иопределения y(A, c) следует, что

(1)Доказательство очевидно из определений.

29

m

j(A, c) = aij yi cj.

i 1

Из оптимальности базиса β следует, что j(A, c) ≥ 0. Тогда

m

 

aij y j

cj для всех j N(β).

i 1

 

Кроме того, y(A, c) B = cб, а это значит, что

m

 

aij y j

= cj для j N(β).

i 1

 

Тогда y(A, c) является допустимым решением задачи P*(A, b, c).

Из определения допустимого базиса следует, что x(A, b) ― допустимое решение задачи

P(A, b, c). При этом

h(b, y(A, c))= y(A, c) b = (cбB–1) b = cб(B–1 b) = cб xб(A, b) = с x(A, b) = f(c, x(A, b)).

По следствию 2.8 векторы x(A, b) и y(A, c) оптимальны в задачах P(A, b, c) и P*(A, b, c)

соответственно. #

В разделе 2.4.2 для ЗЛП в стандартной форме мы определили оценки технологических способов zj. Таким же образом они определяются для канонической формы:

zj(A, c) = cj aij yi ( A, c) .

i

Следствие 2.12.(1) j(A, c) = zj(A, c).

Определение. БДР задачи линейного программирования называют невырожденным,

если его базисная часть строго положительна.

Теорема 2.14 (устойчивость оптимального базиса). Пусть β ― допустимый и опти-

мальный базис в задаче P0 = P(A0, b0, c0), а соответствующее ему БДР x(A0, b0) является един-

ственным и невырожденным оптимальным решением задачи P0. Тогда в некоторой окрест-

ности точки (A0, b0, c0) в Rk базис β является допустимым и оптимальным в задаче P(A, b, c), а векторы x(A, b) и y(A, c) оптимальны в задачах P(A, b, c) и P*(A, b, c) соответственно.

Доказательство. Столбцы матрицы A с номерами j N(β) линейно независимы, если det(B) 0. Но det(B0) 0 по условию и определитель есть непрерывная функция элементов матрицы. Поэтому det(B) 0 в некоторой окрестности точки (A0, b0, c0).

Аналогично, из невырожденности БДР x(A0, b0) в задаче P0 следует, что xб(A0, b0) = B0 1 b0 > 0m,

поэтому B–1b > 0m в некоторой окрестности точки (A0, b0, c0).

(1) Легко выводится из определений.

30