Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpora.doc
Скачиваний:
22
Добавлен:
28.10.2018
Размер:
543.74 Кб
Скачать

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

Рассмотрим выпуклую задачу оптимизации (4.2.1):

f0(x) → min ,fi(x) ≤ 0, i=1,..., m; x ∈ A   

Предположим, что выполняется условие Слейтера. Пусть L(x,λ) = ∑0≤i≤mλifi(x) = f0(x)+∑1≤i≤mλifi(x) - функция Лагранжа этой задачи (λ0=1).

Определение. Зададим функции

φ(x) = supλ ≥ 0L(x,λ)– прямая функция для задачи (4.2.1),

ψ(λ) = inf x ∈ AL(x,λ)– двойственная функция для задачи (4.2.1),

 предполагая, что φ: X → R ∪ {+∞},ψ: X → R ∪ {-∞}.

Пусть Q = {x ∈ A | ∀ i=1,...,m fi(x) ≤0} – множество допустимых планов задачи (4.2.1),

П = {λ ≥ 0 | ψ(λ) > - ∞} – множество двойственных планов.

Задачу  φ(x) → min, x∈ Q   (4.3.1)

назовем прямой задачей оптимизации для задачи (4.2.1), задачу

ψ(λ)→ max, λ∈ П      (4.3.2)

- двойственной задачей для задачи (4.2.1)

Теорема 4.3.1. (о двойственности). Пусть x* - решение задачи (4.3.1), λ* - решение (4.3.2), тогда:

1) для всех x∈Q и всех λ∈П выполняется неравенство φ(x) ≥ ψ(λ);

2) Если функция y не ограничена сверху на П, то Q=Ø;

3) Если x0∈Q, λ0∈П и φ(x0) = ψ(λ0), то x0 – решение задачи (4.3.1),  λ0 – решение задачи (4.3.2).

4) φ(x*) = ψ(λ*), т.е. справедлива теорема о минимаксе

maxλ ≥ 0 min x ∈ AL(x,λ) = min x ∈ Amaxλ ≥ 0L(x,λ)

5)  x* является решением задачи (4.2.1), причем λ* – множитель Лагранжа для x* и выполняется условие дополняющей нежесткости ∀ λ=1,...,m     λi*fi(x*) = 0.

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

1) По определению функций φ(x) и ψ(λ) получаем, что ∀x∈Q, ∀ λ∈П  φ(x) ≥ L(x, λ) ≥ ψ(λ), что и требовалось в пункте 1.

2) Если найдется x∈Q, то (согласно пункту 1) функция y ограничена сверху числом φ(x).

3) Пусть x0∈Q, λ0∈П и φ(x0) = ψ(λ0). Тогда для всех x0∈Q, используя неравенство пункта 1, получим    φ(x) ≥ ψ(λ0) = φ(x0),  т.е. то x0 – решение задачи (4.3.1). Аналогично доказывается, что  λ0 – решение задачи (4.3.2).

4) Пусть x* – решение задачи (4.3.1). Поскольку в данной задаче нет ограничений-неравенств, функция Лагранжа совпадает с целевой функцией. По теореме Куна-Таккера (см. условие 4.2.2) получаем:

φ(x*) = infx ∈ Qφ(x) = infx ∈AL(x, λ*) = L(x*, λ*), где λ* – множитель Лагранжа для x* в задаче (4.2.1), L – функция Лагранжа для этой же задачи. По определению функции y получаем, что

ψ(λ*) = inf x ∈ AL(x,λ*) = φ(x*) = L(x*, λ*) = f0(x*).

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

maxλ ≥ 0 min x ∈ AL(x,λ) = min x ∈ Amaxλ ≥ 0L(x,λ).

5) Используя пункты 4 и 5, получаем, что

L(x*, λ) ≤φ(x) = supλ ≥ 0L(x,λ) ≤φ(x*) = L(x*, λ*) =

   = ψ(λ*) = inf x ∈ AL(x,λ*) ≤  L(x, λ*).

Таким образом, (x*, λ*) – седловая точка для задачи (4.2.1), следовательно, x* – решение задачи (4.2.1), причем λ*  – множитель Лагранжа и выполняются условия дополняющей нежесткости.

14. Квадратичное программирование

Пусть D – симметричная положительно определенная матрица размера n×n,  A – матрица размера m×n.

Рассмотрим задачу

f(x) = cTx + xTDx/2 → min,   (4.4.1)

Ax = b.      (4.4.2)

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

Лемма. Функция (4.4.1) является выпуклой тогда и только тогда, когда матрица D является неотрицательно определенной.

Доказательство. Выпуклость функции f(x) означает, что для всех a, b∈Rn выполняется условие ∀λ∈[0, 1]  f(λa+(1-λ)b) ≤  λf(a)+(1-λ)f(b).

Получаем:

λf(a)+(1-λ)f(b) – f(λa+(1-λ)b) = λcTa+(1-λ)cTb – cT(λa+(1-λ)b) +

+λ aTDa/2+(1-λ) bTDb/2 – (λa+(1-λ)b)TD(λa+(1-λ)b)/2 =

= λ aTDa/2+(1-λ) bTDb/2 – [λ2aTDa +(1-λ)2bTDb  +λ(1-λ)(aTDb+ bTDa)]/2 =

= λ(1-λ)[aTDa+ bTDb/2 – (aTDb+ bTDa)]/2 = λ(1-λ)[(a – b)TD(a – b)]/2.

Полученное выражение неотрицательно тогда и только тогда, когда для всех x∈Rn справедливо неравенство xTDx ≥ 0, т.е. матрица D является неотрицательно определенной.

Таким образом, если матрица D положительно определена, к задаче (4.4.1)-(4.4.2) можно применять теорему Куна-Таккера.

Составим функцию Лагранжа:  L(x,λ)=f(x)+ λT(Ax-b)= cTx + xTDx/2 + λT(Ax-b).

Вычислим двойственную функцию:  ψ(λ) = L(x,λ) = cTx + xTDx/2 + λT(Ax-b).

Для нахождения точки минимума функции L(x,λ) найдем точку, в которой все частные производные по x равны нулю:

Lx(x,λ)= c + Dx + ATλ = 0, откуда

x* =  – D-1(c + ATλ).         (4.4.3)

(В силу положительной определенности матрицы D у нее существует обратная матрица.)

Таким образом,

ψ(λ)  = L(x*,λ) = (c + ATλ)Tx* + x*TDx*/2 – bTλ =

= – (c + ATλ)TD-1(c + ATλ) + (c + ATλ)T{D-1}T(c + ATλ)/2 – bTλ = 

=  (c + ATλ)T{(D-1)T/2 – D-1}(c + ATλ) – bTλ .         (4.4.4)

Согласно теореме Куна-Таккера у функции ψ(λ) существует точка максимума λ*, в которой ψ(λ*)  = L(x*,λ*). Найдем точки, в которых градиент функции ψ(λ) равен нулю:

                 ψλ(λ)  =  A{(D-1)T – 2D-1}(c + ATλ) – b =0, откуда (c + ATλ*) ={(D-1)T – 2D-1}-1b, или

                      λ* = [A{(D-1)T – 2D-1}AT]-1(b – A{(D-1)T – 2D-1}с) .    (4.4.5)

(Мы предполагаем, что обратная матрица [A{(D-1)T – 2D-1}AT]-1 существует, следовательно, найденное решение единственно и поэтому является искомой точкой максимума)

Подставляя (4.4.5) в (4.4.3), получаем решение исходной задачи.

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