íåñêîëüêèõ ïåðåìåííûõ
Âîë÷åíêî Þ.Ì.
Ñîäåðæàíèå ëåêöèè
Экстремумы функции нескольких переменных. Необходимое условие экс-
тремума. Достаточные условия экстремума. Условный и безусловный экс-
тремумы. Метод множителей Лагранжа. Необходимые условия условного
экстремума. Его достаточные условия. Поиск наименьшего и наибольше-
го значений функции нескольких аргументов в ограниченной и замкнутой
области.
Анимация особенностей поиска наименьшего и наибольшего значений
функции.
Àíèìàöèÿ ðàáîòàåò òîëüêî â ïðîãðàììå Acrobat Reader!
21 июня 2013 г.
1 Áåçóñëîâíûé ýêñòðåìóì
Очевидно, она имеет экстремум в точке x01 . Значит, для нее выполняется необ-
ходимое условие экстремума, справедливое для дифференцируемой функции
Ëåêöèÿ "Ýêñòðåìóìû ôóíêöèè íåñêîëüêèõ ïåðåìåííûõ" 3
zx0 = 3x2 − 3y = 0,
zy0 = 3y 2 − 3x = 0.
Решим полученную систему уравнений:
y = x2 , x4 − x = 0,
x1 = 0, y1 = 0, x2 = 1, y2 = 1.
Получили стационарные точки функции M1 (0; 0), M2 (1; 1). Найдем вторые частные
производные:
00 00 00 00
zxx = 6x, zxy = zyx = −3, zyy = 6y.
Составим и вычислим определители H1 и H2 :
6x −3
H1 = 6x, H2 = = 36xy − 9 = 9 (4xy − 1) .
−3 6y
Так как H2 (M1 ) = −9 < 0, то в точке M1 экстремума нет. В точке M2 имеем минимум,
поскольку H2 (M2 ) = 27 > 0 и H1 (M2 ) = 6 > 0. Значение экстремума записывается в
виде zmin = z (1; 1) = −1.
∃ (U (M0 )) ∀ (M ∈ U (M0 ))
f (M0 ) ≤ f (M ) ∧ ϕ1 (M0 ) = 0 ∧ . . . ∧ ϕm (M0 ) = 0.
Поменяв в этом высказывании знак неравенства на противоположный, по-
лучим определение условного максимума.
Ëåêöèÿ "Ýêñòðåìóìû ôóíêöèè íåñêîëüêèõ ïåðåìåííûõ" 6
∂L (M0 , Λ0 )
= ϕj (M0 ) = 0, j = 1, m. (5)
∂λj
Таким образом, для определения координат стационарной точки (M0 , Λ0 ),
0 0
Λ0 λ1 , . . . , λm , имеется как раз n+m уравнений, причем, вторая группа урав-
нений просто означает, что в точке M0 должны выполняться ограничения (3).
Более точно необходимые условия экстремума формулируются в следующей
теореме.
∆x2 02 00 0 0 00 02 00
= 02 ϕy Lxx − 2ϕx ϕy Lxy + ϕx Lyy .
ϕy
Мы видим, что знак второго дифференциала определяет выражение в скобках,
которое можно записать в виде определителя:
0 ϕ0x ϕ0y
∆ = − ϕ0x L00xx L00xy .
ϕ0 L00 L00
y yx yy
Вычислим его значения в найденных точках: ∆ (M1 , λ1 ) = −20 < 0, ∆ (M2 , λ2 ) = 20 >
> 0. Значит, в точке M1 функция имеет условный максимум, а в точке M2 – условный
минимум. Ее значения в этих точках равны z (M1 ) = 5, z (M2 ) = −5.
На рис. 2 показано, почему функция z = x + 2y, которая, вообще говоря, не имеет
ни наименьшего, ни наибольшего значений, при ограничении x2 + y 2 = 5 принима-
ет эти значения, соответственно, в точках M1 и M2 . На рис. в виде отрезков прямых
изображены линии уровня функции, справа от которых в трех случаях в квадратиках
проставлены ее значения. Мы видим, что сдвигая отрезок x + 2y = 0 параллельно
самому себе в сторону увеличения значения функции, мы в конце концов приходим к
отрезку, являющемуся касательным к окружности, и дальнейшее увеличения значения
функции становится невозможным. Точка касания (1; 2) и дает наибольшее значение
функции, равное 5. Рассуждения относительно минимума аналогичны.
y
(1; 2)
ma
x
5
x
O
0
min
(−1; −2)
−5
Рис. 2. К примеру 2.
(xk , αi (xk )) добавить в Список Точек те, которые принадлежат границе мно-
жества D (остальные отбросить).
3) Решая всевозможные пары уравнений
ϕi (x, y) = 0, ϕj (x, y) = 0, i 6= j,
получить точки, лежащие на пересечении кривых, определяющих границы об-
ласти; в Список Точек добавить только те их них, которые принадлежат гра-
нице D (так называемые угловые точки).
4) Вычислить значения функции z = f (x, y) во всех точках из Списка То-
чек и, сравнивая эти значения между собой, найти среди них наименьшее и
наибольшее.
Почему нужен такой довольно сложный алгоритм, показывает анимацион-
ный рис. 3. Изменение положения области D, заключающееся в ее перемеще-
нии по плоскости xOy вдоль некоторой кривой, вызывает изменение коорди-
нат точек, в которых достигается наибольшее и наименьшее значения функ-
ции в заданном квадрате. Эти точки располагаются то внутри квадрата, то во
внутренних точках его сторон, то в его вершинах.
max
min
Рис. 3.
A y=1 B
1
M1
3 4
y=
2
D
(x
−
1)
1
2
M2
1/4
x=1
0
0
C
0 1/2 1
Рис. 4. К примеру 3.
Ïðèëîæåíèå
1)
Рассмотрим пример из области электротехники
Пример П1. Для электрической сети на рис. 5, где Pk – приемник тока, потребляю-
щий ik тока, необходимо для заданного напряжения 2u в сети определить сечения
проводов так, чтобы на всю сеть пошло наименьшее количество меди.
A0 i1 A1 i2 A2 i3 A3
2u P1 P2 P3
B0 B3
и отметим, что в нашем примере m = 1, n = 3. Из теоремы 5 тогда следует, что нам надо
вычислить миноры ∆3 и ∆4 и определить их знаки. При вычислении ∆3 получаем два отрица-
тельных слагаемых, так что
ρ l 1 i1 ρ l 2 i2
0 − q2 − q2
1 2
ρ l1 i1 2λ2 ρ l1 i1
∆3 = − q2 0 < 0.
q 3
1 1
ρ l 2 i2 2λ2 ρ l2 i2
− q2 0 q3
2 2
2)
Систему Mathematica можно применять для исследования функции нескольких пере-
менных на экстремумы как в прямом, так и в косвенном смысле. В первом случае исполь-
зуются уже известные вам операторы Minimize, Maximize, FindMinimum и FindMaximum, а
во втором Mathematica помогает решить систему уравнений, вытекающих из необходимых
условий экстремума, вычислить определители для проверки достаточных условий и т. д.
Если вы попробуете решить лекционный пример, в котором требуется найти экстремумы
функции z = x3 + y 3 − 3xy, вызвав оператор Minimize, то Mathematica вам ответит, что
заданная функция минимума не имеет. И это – чистая правда. Дело в том, что упомянутый
оператор ищет глобальный минимум, а у этой функции нет наименьшего значения.
Задачу может, однако, решить оператор FindMinimum, если ему указать начальную точку
поиска, например, (1/2; 1/2):
FindMinimum[x3 + y3 − 3xy,{x,1/2},{y,1/2}]
{-1.,{x → 1.,y → 1.}}
Если же мы хотим решить задачу по всем правилам, «как на лекции», то можно использо-
вать систему Mathematica для выполнения промежуточных вычислений. Для этого зададим
нашу функцию:
z[x_,y_]:=x3 + y3 − 3xy
и решим систему уравнений, вытекающую из необходимых условий экстремума для этой за-
дачи:
Solve[{∂x z[x,y]==0,∂y z[x,y]==0}]
{x → 0, y → 0}, {x → 1, y → 1}, {x → −(−1)1/3 , y → (−1)2/3 },
{x → (−1)2/3 , y → −(−1)1/3 }
Обе (хотя кажется, что четыре) стационарные точки получены. Теперь найдем определители
H1 и H2 для проверки достаточных условий экстремума (определители вычисляет оператор
Det):
H1 = ∂x,x z[x,y]
6x
∂ z[x,y] ∂x,y z[x,y]
h i
H2 = Det x,x
∂y,x z[x,y] ∂y,y z[x,y]
−9 + 36xy
и вычислим их значения в найденных точках:
H2/.{x → 0,y → 0}
−9
H1/.{x → 1,y → 1}
6
H2/.{x → 1,y → 1}
27
Таким образом, исследование функции на экстремум проведено полностью.
Перейдем к лекционному примеру на условный экстремум. Введем функцию, получающу-
юся из уравнения связи, и функцию Лагранжа:
ϕ[x_,y_]:=x2 + y2 − 5
L[x_,y_,λ_]:=x + 2y + λϕ[x, y]
Используем необходимые условия:
Ëåêöèÿ "Ýêñòðåìóìû ôóíêöèè íåñêîëüêèõ ïåðåìåííûõ" 15
4
1.2
2 5
M1 A B
1.0
0.8
D
0.6
0.4
3
M2
0.2
0
0.0
C
-0.2
1
-0.5 0.0 0.5 1.0
Рис. 6.
третий является выводимым значением заданной функции. Это значение выводится как текст,
взятый в прямоугольник (Framed), на светло-желтом фоне (Background → LightYellow).
Напоследок познакомимся с тем, как Mathematica находит глобальные и локальные экс-
тремумы многоэкстремальных функций. Зададим функцию вида
1
2 2
x<0
z[x_,y_]:= 1 + (x +22) + y
x≥0
1 + (x − 2)2 + y 2
и построим ее график:
Plot3D[z[x, y],{x,−4,4},{y,−2,2},AxesLabel → {x,y,z}]
Как видите, функция имеет два максимума и терпит разрыв по линии x = 0. Добавим также ее
изображение в виде линий уровня:
Ëåêöèÿ "Ýêñòðåìóìû ôóíêöèè íåñêîëüêèõ ïåðåìåííûõ" 17
Все известные вам операторы максимизации успешно находят глобальный максимум такой
вот разрывной функции:
Maximize[z[x,y],{x,y}]
{2,{x → 2,y → 0}}
NMaximize[z[x,y],{x,y}]
{2.,{x → 2.,y → −6.71156 × 10−9 }}
FindMaximum[z[x,y],{x,y}]
{2.,{x → 2.,y → −1.94476 × 10−11 }}
А как найти локальный максимум? Для этого оператору NMaximize надо указать какой-
нибудь диапазон поиска для аргументов функции. Мы ограничим только переменную x:
NMaximize[z[x,y],{{x,−3,0},y}]
{1.,{x → −2.,y → −2.81241 × 10−23 }}
Локальный максимум найден. Для оператора FindMaximum укажем подходящую начальную
точку поиска. Выберем точку (−3; 0):
FindMaximum[z[x,y],{x,−3},{y,0}]
{1.,{x → −2.,y → 0.}}
И этот оператор справился с задачей.
Литература
[1] Бугров Я.С., Никольский С.М. Высшая математика. Дифференциальное и инте-
гральное исчисление. – М.: Наука, 1984, – с. 336-343, 357-364.
[2] Письменный Д.Т. Конспект лекций по высшей математике. – М.: Рольф, 2000.
Ч. 1. – с. 274–278.
[3] Колыбасова В.В., Крутицкая Н.Ч. Достаточные условия существования решения
задачи об условном экстремуме методом Лагранжа. – М.: МГУ.