
- •1. Метод квадратичной интерполяции.
- •2. Метод дихотомии ( половинного деления.).
- •3. Метод «золотого» сечения.
- •4 .Метод Фибоначчи.
- •3. Условная минимизация.
- •2.1.1 Ограничения типа равенства.
- •2.1.2 Ограничения типа неравенств.
- •2.2 Задача выпуклого программирования
- •2.4 Двойственность звп
- •2.4.1.Двойственность злп
2.4 Двойственность звп
В формулировке теоремы Куна- Таккера прямые и двойственные переменные входят симметричным образом. Поэтому можно ожидать, что аналогичная симметрия существует и для задач оптимизации относительно прямых и двойственных переменных .
Введем
функцию:
g(x)=sup(x,
),
при
0
Тогда очевидно ,что
g(x)
=
f(x),
если gi(x)
0,
i=1...m
g(x)
=,
в противном случае
Понятно,
что
(x,
)
=
f(x)+(
,
g(x)),
Поэтому исходная ЗВП может быть записана в виде:
min
g(x)-?, при
xRn
Эту задачупринято называть прямой.
Поступим
аналогичным образом,
поменяв роль переменных и операций max
и
min. Обозначим
h()=
inf
,
при xRn
Задачу
max
h()-?
при
,
называют двойственной.
Теорема двойственности:
Справедливы следующие соотношения двойственности:
1)
f(x)h(
)
x
X,
2) Если выполнено условие т. Куна-Таккера, а пара (x*,*) является седловой точкой функции Лагранжа, то *-решение двойственной задачи.
*
=argmax
h(),при
иf(x*
)=h(*)
3)Если для допустимых x*, * : f(x*)=h(*), то
x*
= argmin f(x), при
xX
*
= argmax h(),при
0
Доказательство:
1)
f(x)f(x)+(
,g(x))=
(x,
)
inf
(x,
)
=
h(
),
при xRn
2) Для всех 0 справедливо соотношение:
h(*)=
inf
(x
,*)
=
(x*
, *)
(x*
,
)
inf(x,
)
= h(
),при
xRn
Отсюда *-решение двойственной задачи.
Но
(x,
*)
= f(x*)
h(*)=f(x*)
3)
На основании
1)
f(x)h(*)
= (2)) f(x*)
h(
)
тогда x*- прямое решение, *- двойственное решение
Продемонстрируем двойственность ЗВП на примере задачи линейного программирования (ЗЛП) , которая вкладывается в ЗВП.
Напомним, что функция f называется вогнутой, если f выпуклая функция, которая выпукла и вогнута одновременно, является афинной или линейной функцией.
2.4.1.Двойственность злп
X=xRn,
x,
Ax
b
b-вектор
размерности
n, A- матрица
размерности mn.
f(x) = (c, x)- целевая функция (линейна)
ЗЛП: min f(x)-?, при xX- прямая задача линейного программирования.
Построим функцию Лагранжа.
=(c,
x)+(
1,b-Ax)+(
2,-x),
1Rm,
2Rn
(подгоняем
под gi(x)0).
Тогда min(c, x) = max inf (c, x)+( 1, b-Ax)+( 2, -x), при 10, 20, xRn = (см. метод модификации функции Лагранжа) = max inf (c- AT1-2, x)+( b, 1)
при 10, 20, xRn =
(1, Ax)=(AT2, x)
=
max
,
при 10,
20
= max (b, 1) (при 10, 20, с=AT1+2) = max (b, 1) (при 10, с AT1)
= max (b, ) = (c, x*), с AT, 0
max (b, ), с AT, 0 - двойственная ЗЛП.
Таким образом, решение исходной ЗЛП может быть сведено к решению новой ЗЛП : максимизация (b, ) по множеству, определенному условиями с AT,
0.
Утверждения:
Вектор состояния двойственной ЗЛП имеет размерность m- количество ограничений в исходной задаче (размерность вектора Ax).
Количество ограничений (кроме 0, неотрицательных) совпадает с размерностью вектора состояний в исходной задаче (вектора x).
Суммарное количество ограничений совпадает с (n + m) в обеих задачах.
Двойственная задача к двойственной дает исходную.
Когда какую задачу решать - зависит от числа ограничений и от размерности x.
Утверждение:
Двойственные переменные можно рассматривать как коэффициент чувствительности целевой функции к изменению параметров задачи.
Пусть x* , *- решения прямой и двойственной задач, причем эти решения единственны (достиг. в одной точке минимум x и в одной максимум )
Тогда f(x*) = (b, *), несколько изменим b: bb+b min увеличился на
(b, *). При сдвиге b градиенты не изменились, i остались теми же.
Обозначим h(b) = min f(x), Ax b, x 0.
Тогда при малых b:
h(b+b) = h(b) + (b, *), следовательно при b 0 получим:
,
для компонент векторов
Линейное программирование
Основные понятия
ЗЛП : min f(x), xX
X={x Rn : g j(x) 0, j = 1...m}, f, g j - линейны для любого j.
Таким образом ЗЛП- частный случай ЗНП.
Определение:
Функция называется линейной, если справедливо:
f(1x1+ 2x2) = 1f(x1) + 2f(x2), где iR, xiX.
В n-мерном пространстве линейная функция может быть определена так:
f(x) = (c,x)
f(x) = c1x1+ ....+ cnxn
Ограничения
Расширим класс задач
,
то есть передвинуть область в n-мерном пространстве.
Определение:
Если при задании допустимого множества X используются только неравенства, то это ЗЛП в стандартной форме.
Определение:
Если при задании X используются только равенства, то это .