Функции Лагранжа

Исторически первым способом сведения задачи с ограничениями к задаче безусловной оптимизации явилось использование функции Лагранжа L(x,m)

L(x, m) = f(x) + mт(b - j(x)) = f(x) + mi (bi - j i(x)),

где mi ≥ 0, i=1,...,m - множители Лагранжа.

В соответствии с теоремой Куна-Таккера необходимым и достаточным условием оптимальности является то, что точка (x*,m*) седловая точка функции Лагранжа, т.е. удовлетворяет условию

max min L(x, m) = L(x*, m*) = min max L(x, m)

x m m x

При фиксированном m левая часть представляет собой прямую задачу математического программирования, при фиксированном x правая часть представляет собой двойственную задачу. На этой основе можно строить итеративный процесс, когда на каждом k-м шаге при фиксированных xk и mk решается пара двойственных задач вида

xk+1 = arg max L(x, mk) и mk+1 = arg min L(x k, m)

x≥0 m≥0

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

xk+1 = (xk + Ak ÑxL(xk,mk))+,

mk+1 = (mk - Bk ÑmL(xk,mk))+,

здесь Ak, Bk - шаговые множители; операция (+) позволяет обеспечить выполнение условий x≥0, m≥0 и имеет следующий смысл

xik+1 = max {0,xik + Ak ÑxL(xik,mk)},

mik+1 = max {0, mik - Bk ÑmL(xk,mik).

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