If you're seeing this message, it means we're having trouble loading external resources on our website.

Ако си зад уеб филтър, моля, увери се, че домейните *. kastatic.org и *. kasandbox.org са разрешени.

Основно съдържание

Множители на Лагранж (въведение)

Множителите на Лагранж са метод за решаване на оптимизационни задачи при наличие на ограничения. Полезно!

Основни идеи

  • С помощта на множителите на Лагранж можем да намираме минимум или максимум на дадена функция start color #0c7f99, f, left parenthesis, x, ;, y, ;, dots, right parenthesis, end color #0c7f99 при наличие на ограничения върху аргументите.
  • Ограниченията изглеждат така:
    start color #bc2612, g, left parenthesis, x, ;, y, ;, dots, right parenthesis, equals, c, end color #bc2612
    Където start color #bc2612, g, end color #bc2612 е друга функция със същия брой аргументи като start color #0c7f99, f, end color #0c7f99, а start color #bc2612, c, end color #bc2612 е константа.
  • Основната идея е да разгледаме точките, в които контурните линии на start color #0c7f99, f, end color #0c7f99 и start color #bc2612, g, end color #bc2612 се допират.
  • С други думи, търсим точките, в които градиентите на start color #0c7f99, f, end color #0c7f99 и start color #bc2612, g, end color #bc2612 са успоредни.
  • Този процес е еквивалентен на това да приравним градиента на една специална функция, наречена лагранжиан, на нулевия вектор.

Мотивиращ пример

Ако искаме да намерим максимума на следната функция:
start color #0c7f99, f, left parenthesis, x, ;, y, right parenthesis, equals, 2, x, plus, y, end color #0c7f99
Чертаем графиката на функцията f, left parenthesis, x, ;, y, right parenthesis, equals, 2, x, plus, y
Чертаем графиката на функцията f, left parenthesis, x, ;, y, right parenthesis, equals, 2, x, plus, y
но освен това стойностите на left parenthesis, x, ;, y, right parenthesis трябва да изпълняват следното условие:
start color #bc2612, x, squared, plus, y, squared, equals, 1, end color #bc2612
Единична окръжност
Всички точки left parenthesis, x, ;, y, right parenthesis, за които start color #bc2612, x, squared, plus, y, squared, equals, 1, end color #bc2612, наричаме единична окръжност.
С други думи търсим за коя точка left parenthesis, x, ;, y, right parenthesis върху start color #bc2612, start text, е, д, и, н, и, ч, н, а, т, а, space, о, к, р, ъ, ж, н, о, с, т, end text, end color #bc2612 стойността на израза start color #0c7f99, 2, x, plus, y, end color #0c7f99 е най-голяма.
Такива задачи наричаме оптимизационни задачи с ограничение. Условието start color #bc2612, x, squared, plus, y, squared, equals, 1, end color #bc2612 за евентуалните решения се нарича "ограничение", а start color #0c7f99, f, left parenthesis, x, ;, y, right parenthesis, equals, 2, x, plus, y, end color #0c7f99 е функцията, чийто максимум или минимум ще търсим.
Нека визуализираме задачата по следния начин. Първо чертаем графиката на start color #0c7f99, f, left parenthesis, x, ;, y, right parenthesis, end color #0c7f99, която е наклонена равнина, тъй като функцията start color #0c7f99, f, end color #0c7f99 е линейна. След това проектираме вертикално окръжността start color #bc2612, x, squared, plus, y, squared, equals, 1, end color #bc2612 от равнината x, y върху графиката на start color #0c7f99, f, end color #0c7f99. Търсеният максимум съответства на най-високата точка върху проекцията на окръжността.
Видео плейър на видеоклиповете в Кан Академия

В общ вид

В този раздел ще формулираме общия вид на оптимизационна задача с ограничение. За начало, искаме да намерим максимума или минимума на дадена функция на няколко променливи:
start color #0c7f99, f, left parenthesis, x, ;, y, ;, z, ;, dots, right parenthesis, end color #0c7f99
В този контекст функцията е скаларна, тъй като понятието "максимум" има значение само в едно измерение.
Ограничението, което ще разгледаме, е от вида start color #bc2612, g, left parenthesis, x, ;, y, ;, z, ;, dots, right parenthesis, end color #bc2612 = дадена константа start color #bc2612, c, end color #bc2612. По-късно ще научим как да решаваме такива задачи с помощта на множители на Лагранж.
start color #bc2612, g, left parenthesis, x, ;, y, ;, z, ;, dots, right parenthesis, equals, c, end color #bc2612
Тъй като ограничението важи за аргументите на start color #0c7f99, f, end color #0c7f99, то функцията start color #bc2612, g, end color #bc2612 трябва да приема същия брой агументи като start color #0c7f99, f, end color #0c7f99. Например в задачата по-горе двете функции са
start color #0c7f99, f, left parenthesis, x, ;, y, right parenthesis, equals, 2, x, plus, y, end color #0c7f99
start color #bc2612, g, left parenthesis, x, ;, y, right parenthesis, equals, x, squared, plus, y, squared, end color #bc2612
start color #bc2612, c, equals, 1, end color #bc2612

Контурни карти (графики)

Подходящ метод за изобразяване на start color #0c7f99, f, end color #0c7f99 са т. нар. контурни карти.
Припомняме, че контурна линия на графиката на функцията start color #0c7f99, f, left parenthesis, x, ;, y, right parenthesis, end color #0c7f99 наричаме множеството от точки, за които start color #0c7f99, f, left parenthesis, x, ;, y, right parenthesis, equals, k, end color #0c7f99 за дадена константа k. Динамичната графика, изобразена по-долу, показва движението на тази контурна линия (в синьо) при промяна на k. Окръжността start color #bc2612, g, left parenthesis, x, ;, y, right parenthesis, equals, 1, end color #bc2612 е показана в червено. Опитай да намериш най-малката и най-голямата стойност на k, за която контурната линия на start color #0c7f99, f, end color #0c7f99 пресича окръжността.
Упражнение: Какво означава за дадена стойност на k контурната линия, представяща функцията start color #0c7f99, f, left parenthesis, x, ;, y, right parenthesis, equals, k, end color #0c7f99 да не пресича червената окръжност с уравнение start color #bc2612, g, left parenthesis, x, ;, y, right parenthesis, equals, 1, end color #bc2612?
Избери един отговор:

Окръжността start color #bc2612, g, left parenthesis, x, ;, y, right parenthesis, equals, 1, end color #bc2612 е всъщност контурна линия на функцията start color #bc2612, g, end color #bc2612. В такъв случай можем да забележим следното:
Ключово наблюдение: Максималните и минималните стойности на start color #0c7f99, f, end color #0c7f99 при дадено условие start color #bc2612, g, left parenthesis, x, ;, y, right parenthesis, equals, 1, end color #bc2612 съответстват на контурните линии на start color #0c7f99, f, end color #0c7f99, които допират контура start color #bc2612, g, left parenthesis, x, ;, y, right parenthesis, equals, 1, end color #bc2612.
Ограничените екстремуми се допират.
Ако функцията start color #0c7f99, f, end color #0c7f99 не беше линейна, както е в нашия пример за линейна функция start color #0c7f99, f, end color #0c7f99, контурните ѝ линии нямаше да са прави. Например,
start color #0c7f99, f, left parenthesis, x, ;, y, right parenthesis, equals, 2, x, squared, plus, square root of, 5, y, end square root, end color #0c7f99,
Контурните линии на тази функция изглеждат така:
Но и тук горното наблюдение важи: когато k е максимум или минимум на f при дадено ограничение, контурните линии съответстващи на start color #0c7f99, f, left parenthesis, x, ;, y, right parenthesis, equals, k, end color #0c7f99 допират тези на start color #bc2612, g, left parenthesis, x, ;, y, right parenthesis, equals, 1, end color #bc2612.

Ролята на градиента

Какво e математическото значение на това, че две контурни линии се допират?
За да отговорим на този въпрос, трябва да разгледаме градиента del, f. В този урок ще използваме свойството, че градиентът на f в точката left parenthesis, x, start subscript, 0, end subscript, ;, y, start subscript, 0, end subscript, right parenthesis е вектор, перпендикулярен на контурната линия, минаваща през тази точка.
Градиентът е перпендикулярен на контурната крива.
Това означава, че когато контурните линии на две функции start color #0c7f99, f, end color #0c7f99 и start color #bc2612, g, end color #bc2612 се допират, техните градиенти в допирната точка са успоредни. Ето как изглеждат те за две произволни функции start color #0c7f99, f, end color #0c7f99 и start color #bc2612, g, end color #bc2612:
Изображение на допиращи се контурни линии (от Wikipedia)
Фактът, че контурните линии се допират, не ни дава информация за отношението на дължините на двата успоредни градиента. Нека left parenthesis, x, start subscript, 0, end subscript, ;, y, start subscript, 0, end subscript, right parenthesis е точката, в която контурите на start color #0c7f99, f, end color #0c7f99 и на start color #bc2612, g, end color #bc2612 се допират. Тогава за градиентите им имаме следната зависимост:
f(x0;y0)=λ0g(x0;y0)\begin{aligned} \nabla \blueE{f(x_0; y_0)} = \greenE{\lambda}_0 \nabla \redE{g(x_0; y_0)} \end{aligned}
където start color #0d923f, lambda, end color #0d923f, start subscript, 0, end subscript е константа, изразяваща отношението на дължините на двата градиента. Някои автори използват отрицателна константа minus, start color #0d923f, lambda, end color #0d923f, start subscript, 0, end subscript, но в тази и в следващите статии ще използваме start color #0d923f, lambda, start subscript, 0, end subscript, end color #0d923f.
Нека се върнем към примера start color #0c7f99, f, left parenthesis, x, ;, y, right parenthesis, equals, 2, x, plus, y, end color #0c7f99 и start color #bc2612, g, left parenthesis, x, ;, y, right parenthesis, equals, x, squared, plus, y, squared, end color #bc2612. Градиентът на f е равен на
f(x;y)=[x(2x+y)y(2x+y)]=[21]\begin{aligned} \nabla f(x; y) = \left[ \begin{array}{c} \dfrac{\partial}{\partial \blueD{x}}(2\blueD{x} + y) \\ \\ \dfrac{\partial}{\partial \redD{y}}(2x + \redD{y}) \\ \end{array} \right] = \left[ \begin{array}{c} 2 \\ 1 \end{array} \right] \end{aligned}
и градиентът на g е
g(x;y)=[x(x2+y21)y(x2+y21)]=[2x2y]\begin{aligned} \nabla g(x; y) = \left[ \begin{array}{c} \dfrac{\partial}{\partial \blueD{x}}(\blueD{x}^2 + y^2 - 1) \\ \\ \dfrac{\partial}{\partial \redD{y}}(x^2 + \redD{y}^2 - 1) \\ \end{array} \right] = \left[ \begin{array}{c} 2x \\ 2y \end{array} \right] \end{aligned}
Следователно условието за допиране на двете контурни линии изглежда така:
[21]=λ0[2x02y0]\begin{aligned} \left[ \begin{array}{c} 2 \\ 1 \end{array} \right] = \greenE{\lambda_0} \left[ \begin{array}{c} 2x_0 \\ 2y_0 \end{array} \right] \end{aligned}

Обратно към нашия пример

Търсим точки left parenthesis, x, start subscript, 0, end subscript, ;, y, start subscript, 0, end subscript, right parenthesis със следните свойства
  • g, left parenthesis, x, start subscript, 0, end subscript, ;, y, start subscript, 0, end subscript, right parenthesis, equals, 1, тоест
    start color #bc2612, x, start subscript, 0, end subscript, squared, plus, y, start subscript, 0, end subscript, squared, equals, 1, end color #bc2612
  • del, f, left parenthesis, x, start subscript, 0, end subscript, ;, y, start subscript, 0, end subscript, right parenthesis, equals, start color #0d923f, lambda, start subscript, 0, end subscript, end color #0d923f, del, g, left parenthesis, x, start subscript, 0, end subscript, ;, y, start subscript, 0, end subscript, right parenthesis за някоя константа start color #0d923f, lambda, start subscript, 0, end subscript, end color #0d923f, тоест;
    2=2λ0x01=2λ0y0\begin{aligned} \quad {2} &{= 2\greenE{\lambda_0} x_0} \\ {1} &{= 2\greenE{\lambda_0} y_0} \end{aligned}
Получихме три уравнения за три неизвестни величини, което означава, че можем да ги решим еднозначно.

Лагранжиáнът

Как изглежда Лагранж
Джоузеф Луис Лагранж, спокоен, сдържан и сънлив по едно и също време. Wikimedia Commons
През 18. век математикът Джоузеф Луис Лагранж прекарал голяма част от живота си, занимавайки се с подобни оптимизационни задачи, и чрез работата си намерил начин да събере всички условия, които получихме при разсъжденията по-горе, в едно единствено уравнение.
В общия случай търсим константи x, start subscript, 0, end subscript, y, start subscript, 0, end subscript и lambda, start subscript, 0, end subscript, такива че:
  • Ограничението:
    start color #bc2612, g, left parenthesis, x, start subscript, 0, end subscript, ;, y, start subscript, 0, end subscript, right parenthesis, equals, c, end color #bc2612
  • Допиращи се контури:
    del, f, left parenthesis, x, start subscript, 0, end subscript, ;, y, start subscript, 0, end subscript, right parenthesis, equals, lambda, start subscript, 0, end subscript, del, g, left parenthesis, x, start subscript, 0, end subscript, ;, y, start subscript, 0, end subscript, right parenthesis.
Можем да разбием това уравнение на две части по следния начин:
  • f, start subscript, x, end subscript, left parenthesis, x, start subscript, 0, end subscript, ;, y, start subscript, 0, end subscript, right parenthesis, equals, lambda, start subscript, 0, end subscript, g, start subscript, x, end subscript, left parenthesis, x, start subscript, 0, end subscript, ;, y, start subscript, 0, end subscript, right parenthesis
  • f, start subscript, y, end subscript, left parenthesis, x, start subscript, 0, end subscript, ;, y, start subscript, 0, end subscript, right parenthesis, equals, lambda, start subscript, 0, end subscript, g, start subscript, y, end subscript, left parenthesis, x, start subscript, 0, end subscript, ;, y, start subscript, 0, end subscript, right parenthesis
Лагранж успял да обедини тези три уравнения в едно (векторно) уравнение за друга функция, която приема същите аргументи като f и g, заедно с третия аргумент lambda.
L, left parenthesis, x, ;, y, ;, lambda, right parenthesis, equals, start color #0c7f99, f, left parenthesis, x, ;, y, right parenthesis, end color #0c7f99, minus, lambda, left parenthesis, start color #bc2612, g, left parenthesis, x, ;, y, right parenthesis, minus, c, end color #bc2612, right parenthesis
Например в нашия пример имаме
f(x;y)=2x+yg(x;y)=x2+y2c=1\begin{aligned} \quad \blueE{f(x; y)} &= \blueE{2x + y }\\ \redE{g(x; y)} &= \redE{x^2 + y^2} \\ \redE{c} &= \redE{1} \\ \end{aligned}
и новата функция ще изглежда така:
L, left parenthesis, x, ;, y, ;, lambda, right parenthesis, equals, start color #0c7f99, 2, x, plus, y, end color #0c7f99, minus, lambda, left parenthesis, start color #bc2612, x, squared, plus, y, squared, minus, 1, end color #bc2612, right parenthesis, point
Обърни внимание, че частната производна на L по lambda е minus, left parenthesis, g, left parenthesis, x, ;, y, right parenthesis, minus, c, right parenthesis:
Lλ(x;y;λ)=λ(f(x,y)λ(g(x;y)c)=0(g(x;y)c)\begin{aligned} \quad \mathcal{L}_\lambda(x; y; \lambda) &= \dfrac{\partial}{\partial \lambda}\left(f(x, y) - \lambda (g(x; y)-c \right) \\ &= 0 - (g(x; y)-c) \end{aligned}
Тогава условието g, left parenthesis, x, ;, y, right parenthesis, equals, c е еквивалентно на
Lλ(x;y;λ)=g(x;y)+c=0\begin{aligned} \quad \redE{ \mathcal{L}_\lambda(x; y; \lambda) = -g(x; y) + c = 0 } \end{aligned}
Нещо повече, ако приравним на нула и другите две частни производни на тази функция, получаваме
Lx(x;y;λ)=0x(f(x;y)λ(g(x;y)c))=0fx(x;y)λgx(x;y)=0fx(x;y)=λgx(x;y)\begin{aligned} \quad \mathcal{L}_x(x; y; \lambda) &= 0 \\ \\ \dfrac{\partial}{\partial x}(f(x; y) - \lambda (g(x; y)-c)) &= 0 \\ \\ f_x(x; y) - \lambda g_x(x; y) &= 0 \\ \\ {f_x(x; y)} &{= \lambda g_x(x; y)} \end{aligned}
Това е едно от условията, които изведохме! Аналогично уравнението L, start subscript, y, end subscript, left parenthesis, x, ;, y, ;, lambda, right parenthesis, equals, 0 е еквивалентно на
fy(x;y)=λgy(x;y)\begin{aligned} \quad {f_y(x; y) = \lambda g_y(x; y)} \end{aligned}
Трите условия заедно са еквивалентни на
f(x;y)=λg(x;y)\begin{aligned} \quad \nabla f(x; y) = \lambda \nabla g(x; y) \end{aligned}
Следователно трите уравнения, които трябва да решим, за да получим решенията за x, comma, y и lambda, са уравнения за частните производни на L. Тоест, търсим за кои стойности градиентът на L е равен на 0:
L=0\begin{aligned} \quad \nabla \mathcal{L} = \textbf{0} \end{aligned}
Например в частния случай, с който започнахме, имаме
L=[x(2x+yλ(x2+y21))y(2x+yλ(x2+y21))λ(2x+yλ(x2+y21))]=[22λx12λyx2y2+1]=[000]\begin{aligned} \quad \nabla \mathcal{L} = \left[ \begin{array}{c} \dfrac{\partial}{\partial x}(2x + y - \lambda(x^2 + y^2 - 1)) \\ \\ \dfrac{\partial}{\partial y}(2x + y - \lambda(x^2 + y^2 - 1)) \\ \\ \dfrac{\partial}{\partial \lambda}(2x + y - \lambda(x^2 + y^2 - 1)) \\ \\ \end{array} \right] = \left[ \begin{array}{c} 2 - 2\lambda x \\ 1 - 2\lambda y \\ -x^2 - y^2 + 1 \\ \end{array} \right] = \left[ \begin{array}{c} 0 \\ 0 \\ 0 \\ \end{array} \right] \end{aligned}
Функцията L наричаме "лагранжиáн" на името на Лагранж, и новата променлива lambda наричаме "множител на Лагранж".
Забележка: Някои автори записват lambda с отрицателен знак:
L(x;y;λ)=f(x;y)+λ(g(x;y)c)\begin{aligned} \quad \mathcal{L}(x; y; \lambda) = f(x; y) \redE{+} \lambda (g(x; y)-c) \end{aligned}
Тази малка промяна не променя решенията, които получаваме, тъй като стойността на множителя на Лагранж може да е отрицателна.

Обобщение

Оптимизация с ограничение
Фигура: Nexcis (автор) [публичен домейн], от Wikimedia Commons
За да намерим локалните екстремуми на функцията start color #0c7f99, f, left parenthesis, x, ;, y, ;, dots, right parenthesis, end color #0c7f99 при наличие на дадено ограничение start color #bc2612, g, left parenthesis, x, ;, y, ;, dots, right parenthesis, equals, c, end color #bc2612, изпълняваме следните стъпки:
  • Стъпка 1: Въвеждаме нова променлива start color #0d923f, lambda, end color #0d923f (гръцката буква ламбда) и дефинираме функцията L по следния начин:
    L, left parenthesis, x, ;, y, ;, dots, comma, start color #0d923f, lambda, end color #0d923f, right parenthesis, equals, start color #0c7f99, f, left parenthesis, x, ;, y, ;, dots, right parenthesis, end color #0c7f99, minus, start color #0d923f, lambda, end color #0d923f, left parenthesis, start color #bc2612, g, left parenthesis, x, ;, y, ;, dots, right parenthesis, minus, c, end color #bc2612, right parenthesis
    Функцията L се нарича "лагранжиан", а новата променлива start color #0d923f, lambda, end color #0d923f се нарича "множител на Лагранж"
  • Стъпка 2: Приравняваме градиента на L на нулевия вектор.
    del, L, left parenthesis, x, ;, y, ;, dots, comma, start color #0d923f, lambda, end color #0d923f, right parenthesis, equals, start bold text, 0, end bold text, left arrow, start color gray, start text, н, у, л, е, в, space, в, е, к, т, о, р, end text, end color gray
    С други думи, търсим критичните точки на L.
  • Стъпка 3: За всяка критична точка left parenthesis, x, start subscript, 0, end subscript, ;, y, start subscript, 0, end subscript, ;, dots, ;, start color #0d923f, lambda, end color #0d923f, start subscript, 0, end subscript, right parenthesis, заместваме съответните стойности в f (всички координати без start color #0d923f, lambda, end color #0d923f, start subscript, 0, end subscript, тъй като f няма аргумент start color #0d923f, lambda, end color #0d923f ). Точката, която даде най-голяма (или най-малка) стойност на f, е максимумът (или минимумът), който търсим.

Искаш ли да се присъединиш към разговора?

Все още няма публикации.
Разбираш ли английски? Натисни тук, за да видиш още дискусии в английския сайт на Кан Академия.