Донецкий национальный технический университет
Опубликован: 09.07.2007 | Доступ: свободный | Студентов: 3115 / 710 | Оценка: 4.34 / 4.12 | Длительность: 13:54:00
Специальности: Программист

Лекция 7: Нелинейное программирование. Классификация методов нелинейного программирования. Классический метод определения условного экстремума. Метод множителей Лагранжа

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >

4. Метод множителей Лагранжа

Метод множителей Лагранжа позволяет отыскивать максимум \langle или минимум \rangle функции при ограничениях-равенствах. Основная идея метода состоит в переходе от задачи на условный экстремум к задаче отыскания безусловного экстремума некоторой построенной функции Лагранжа. Пусть задана задача НП при ограничениях-равенствах вида

\text{минимизировать} \; f(x_1,x_2,\ldots,x_n) ( 4.1)
при ограничениях
\begin{align*}
& h_1(x_1,x_2,\ldots,x_n) = 0 ; \\
& h_2(x_1,x_2,\ldots,x_n) = 0 ; \\
& \ldots \ldots \ldots \ldots \ldots \ldots \ldots \\
& h_m(x_1,x_2,\ldots,x_n) = 0 ;
\end{align*} ( 4.2)

Предположим, что все функции f, h1, h2, ..., hm - дифференцируемы. Введем набор переменных \lambda_1,\lambda_2,\ldots,\lambda_m (число которых равняется числу ограничений), которые называются множителями Лагранжа, и составим функцию Лагранжа такого вида:

\begin{align*}
& L(x_1, x_2, \ldots, x_m, \lambda_1, \lambda_2, \ldots, \lambda_m) = \\
& = f(x_1, x_2, \ldots, x_n) + \sum_{i=1}^m \lambda_i h_i (x_1, x_2, \ldots, x_n)
\end{align*} ( 4.3)

Справедливо такое утверждение: для того чтобы вектор x^0 = \left\{ x_1^0, x_2^0, \ldots , x_n^0 \right\} являлся решением задачи (4.1) при ограничениях (4.2), необходимо, чтобы существовал такой вектор \Lambda^0 = \left\{ \lambda_1^0, \lambda_2^0, \ldots , \lambda_m^0 \right\}, что пара векторов удовлетворяла бы системе уравнений

\frac{\partial L (x^0, \Lambda^0)}{\partial x_j} = 0, \quad j=\overline{1,n} ; ( 4.4)
\frac{\partial L (x^0, \Lambda^0)}{\partial \lambda_i} = 0, \quad i=\overline{1,m} ; ( 4.5)

Покажем необходимость условий (4.4), (4.5) на простом примере:

\text{минимизировать} \; f(x_1, x_2, x_3) ( 4.6)
при ограничениях
\begin{align*}
& h_1 (x_1, x_2, x_3) =0, \\
& h_2 (x_1, x_2, x_3) =0.
\end{align*} ( 4.7)

Ограничения (4.7) определяют допустимую область S, которая представляет собой кривую в пространстве R(2) и является результатом пересечения h1(x) и h2(x).

Допустим, что рассматриваемая задача имеет точку минимума в S1: x^+ = \left\{ x_1^+, x_2^+ , \ldota, x_n^+ \right\}, функции f, h1, h2 имеют непрерывные производные первого порядка на некотором открытом множестве и градиенты

\nabla h_1(x) = \left[ \frac{\partial h_1}{\partial x_1} ;
                       \frac{\partial h_1}{\partial x_2} ;
                       \frac{\partial h_1}{\partial x_3} ;
\right]^T ; \quad
\nabla h_1(x) = \left[ \frac{\partial h_2}{\partial x_1} ;
                       \frac{\partial h_2}{\partial x_2} ;
                       \frac{\partial h_2}{\partial x_3} ;
\right]^T
линейно независимы.

Если две переменные в уравнениях (4.7) можно выразить через третью в виде x2=U(x1), x3=V(x1), то подставив их в целевую функцию (4.6), преобразуем исходную задачу в следующую задачу без ограничений, которая содержит лишь одну переменную x1:

\text{минимизировать} f(x_1,U(x_1),V(x_1)). ( 4.8)

Поскольку градиенты \nabla h_1 (x_1, x_2, x_3), \; i=1,2, непрерывны и линейно независимы, то можно применить известную теорему математического анализа о неявной функции и найти стационарную точку x_1^+, а потом x_2^+ = U(x_1^+), x_3^+ = V(x_1^+).

Приведенный подход можно в принципе распространить и на случай функции n переменных f(x), x=[x_1, x_2, \ldots, x_n]^T при наличии m ограничений-равенств:

h_1(x) = 0, h_2(x)=0, \ldots, h_m(x)=0. ( 4.9)

Если функции h_1(x), \ldots, h_m(x) удовлетворяют условиям теоремы о неявной функции, то m из n переменных уравнений (4.9) можно выразить через остальные (n-m) переменных, подставить их в f(x) и таким образом преобразовать задачу минимизаци с ограничениями в задачу безусловной минимизации с (n-m) переменными. Однако такой подход трудно реализовать на практике, поскольку очень трудно разрешить уравнения (4.9) относительно некоторых переменных. В общем случае это совсем невозможно.

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

Пусть x+ - точка минимума f(x), определяемого выражением (4.8). В соответствии с известной теоремой математического анализа о неявной функции можно записать

\frac{df}{dx_1} = \frac{\partial f}{\partial x_1} + \frac{\partial f}{\partial x_2} \cdot
\frac{dU}{dx_1} + \frac{\partial f}{\partial x_3} \cdot \frac{dV}{dx_1} = 0 ( 4.10)

Аналогичные соотношения получим для ограничений

\frac{dh_i}{dx_1} = \frac{\partial h_i}{\partial x_1} + \frac{\partial h_i}{\partial x_2} \cdot
\frac{dU}{dx_1} + \frac{\partial h_i}{\partial x_3} \cdot \frac{dV}{dx_1} = 0 , \; i=1,2 ( 4.11)

Запишем уравнения (4.10), (4.11) совместно в виде

A \times \left[
\begin{aligned}
& 1 \\
& \frac{dU}{dx_1} \\
& \frac{dV}{dx_1}
\end{aligned}
\right] =0, ( 4.12)
где
A = \left[
\begin{aligned}
& \nabla f (x^+) \\
& \nabla h_1 (x^+) \\
& \nabla h_2 (x^+)
\end{aligned}
\right].

Поскольку вектор \left[ 1, \frac{dU}{dx_1}, \frac{dV}{dx_1}\right] не является нулевым, то из (4.12) следует, что det A = 0. Из этого следует, что вектора-строки матрицы A должны быть линейно зависимы. Следовательно, существуют три таких скаляра a, b, c не все равные 0, что

a \nabla f (x^+) + b \nabla h_1 (x^+) + c \nabla h_2 (x^+) = 0 ( 4.13)

Скаляр а не может равняться 0, так как в соответствии с предположением \nabla h_1 и \nabla h_2 - линейно независимы. Поэтому после деления (4.13) на a, получим

\nabla f (x^+) + \lambda_1 \nabla h_1 (x^+) + \lambda_2 \nabla h_2 (x^+) = 0 ( 4.14)

Таким образом, для задачи минимизации с ограничениями (4.6) существуют такие \lambda_1, \lambda_2, для которых справедливо уравнение (4.14) и которые одновременно не обращаются в нуль. Итак, справедливость условий (4.4) для случая n=3 показана.

Таким образом, для отыскания минимума (4.6) при условиях (4.7) необходимо найти стационарную точку функции Лагранжа:

L(x, \Lambda)= f(x) + \lambda_1 h_1(x) + \lambda_2 h_2 (x) .

Для того чтобы найти искомые значения \lambda_1, \lambda_2, x^+, необходимо решить совместно систему уравнений (4.14), (4.5). С геометрической точки зрения условие (4.14) означает, что \damla f(x^+) лежит в плоскости, натянутой на векторы \damla h_1(x^+).

Теперь рассмотрим общий случай для произвольных n. Пусть задана задача НП в виде (4.1), (4.2), все функции f(x), h_1(x), i=\overline{1,m} \; (m < n), имеют непрерывные частные производные на множестве R(n). Пусть S(x) - подмножество множества R(n), на котором все функции h_1(x) = 0, \quad i=\overline{1,m}, то есть S= \left\{ x: h_1(x) = 0, \; i= \overline{1,m} \right\}. Тогда справедлива такая теорема о множителях Лагранжа.

Теорема 4.7. Допустим, что существует такая точка x+, в которой достигается относительный экстремум задачи НП (4.1) при условиях (4.2). Если ранг матрицы I = \left[ \frac{\partial h_j(x)}{\partial x_j} \right], \; 
i= \overline{1,m}, \; j= \overline{1,n} в точке x+ равен m, то существуют m чисел \lambda_1, \lambda_2, \ldots, \lambda_m, не все из которых равны нулю одновременно, при которых

\nabla f (x^+) + \sum_{i=1}^m \lambda_i \nabla h_i(x^+) =0. ( 4.15)

Эта теорема обосновывает метод множителей Лагранжа, который состоит из следующих шагов.

Составляют функцию Лагранжа L(x, \Lambda)

Находят частные производные \frac{\partial L(x, \Lambda)}{\partial x_j}, \; j= \overline{1,n}; \;
\frac{\partial L(x, \Lambda)}{\partial \lambda_i}, \; i= \overline{1,m};

Решают систему уравнений

\begin{align*}
& \frac{\partial L(x, \Lambda)}{\partial x_j} = 0, \; j= \overline{1,n}; \\
& \frac{\partial L(x, \Lambda)}{\partial \lambda_i} = h_i (x) = 0, \; i= \overline{1,m}.
\end{align*} ( 4.16)
и отыскивают точки x^0 = \left[ x_j^0 \right], удовлетворяющие системе (4.16).

Найденные точки x0 дальше исследуют на максимум (или минимум).

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >