Lagrange Multiplier Demystified

Image via https://elements.envato.com under license to Naoki Shibuya

Have you ever wondered why we use the Lagrange multiplier to solve constrained optimization problems?

Is it just a clever technique?

deoarece este foarte ușor de utilizat, îl învățăm ca o aritmetică de bază practicând-o până când o putem face pe de rost.

dar v-ați întrebat vreodată de ce funcționează? Funcționează întotdeauna? Dacă nu, de ce nu?

Dacă doriți să știți răspunsurile la aceste întrebări, sunteți în locul potrivit.

o voi demistifica pentru tine.

un exemplu de problemă de optimizare constrânsă

În cazul în care nu sunteți familiarizați cu ceea ce sunt optimizările constrânse, am scris un articol care o explică. În caz contrar, vă rugăm să citiți mai departe.

Să presupunem că avem un munte care arată mai jos:

Image by author using Grapher on macOS

The height of a location (x, y) is given as follows (in kilometers):

Further suppose, the mountain has an eruption:

Image by author using Grapher on macOS

From the top, it looks like below:

Image by author using Grapher on macOS

The eruption area is given as follows:

aceasta înseamnă că marginea erupției este dată după cum urmează:

deci, marginea arată astfel.

imagine de autor folosind Grapher pe macOS

Să presupunem că vrem să cunoaștem cea mai înaltă poziție a erupției pe acest munte.

aceasta înseamnă că poziția cea mai înaltă trebuie să fie pe linia de margine a erupției pe care o putem exprima după cum urmează:

orice locație (x, y) care satisface g(x, y)=0 se află pe marginea erupției.

prin urmare, problema de optimizare constrânsă este de a găsi maximul f(x, y) satisfăcător g(x, y) = 0.

intuiție cu privire la modul de rezolvare a problemei de optimizare constrânsă

intuitiv, știm că înălțimea maximă a erupției este în jurul valorii de unde indică săgeata albastră.

imagine de autor folosind Grapher pe macOS

căutăm cea mai înaltă linie de contur care atinge marginea erupției.

să definim ecuația liniei de contur:

f(x, y) = H

H este o valoare constantă care indică înălțimea conturului.

pentru o valoare dată de H, există un set de (x, y) valori care satisfac f(x, y) = H.

gradientulf(x, y) indică direcția în care crește înălțimea, care este perpendiculară pe linia de contur.

Image by author using Grapher on macOS

The gradient is a vector of partial derivatives.

Similarly, the gradient of g(x, y) is perpendicular to the edge of the eruption area.

cea mai înaltă linie de contur care atinge marginea erupției trebuie să aibă gradientul f(x, y) în paralel cu linia de gradient de g(x, y).

imagine de autor

dacă gradientul liniei de contur nu este în paralel cu gradientul marginii erupției, va exista o zonă de erupție care este situat mai sus decât linia de contur.

imagine de autor

deci, avem nevoie pentru a găsi un astfel de punct (x, y) unde gradientul f(x, y) este în paralel cu gradientul g(x, y).

multiplicatorul Lagrange și Lagrangianul

să ne punem obiectivul într-o formulă matematică.

gradientulf(x, y) și gradientulg(x, y) ar trebui să fie în paralel, dar pot avea dimensiuni și direcții diferite.

grad f(x, y) = λ grad g(x, y)

Acestλ se numește multiplicator Lagrange după numele matematicianului care a introdus mecanica Lagrangiană în 1788.

Joseph-Louis Lagrange (Wikipedia)

în acest stadiu, nu știm valoarea λ care ar putea fi ceva de genul 2.5, -1, sau altceva. Aceasta înseamnă doar faptul că cele două gradienți trebuie să fie în paralel.

putem rearanja ecuația după cum urmează:

grad { f(x, y) - λ g(x, y) } = 0

zero aici înseamnă vectorul cu zerouri:(0,0).

și numim interiorul parantezelor buclate ca LagrangianL.

L = f(x, y) - λ g(x, y)

deci, spunem că următoarea este condiția necesară.

grad L = 0

gradientul Lagrangian ne dă două ecuații.

dar avem trei necunoscute xy și λ. Cum putem rezolva aceste ecuații?

de fapt, avem încă o ecuație care este g(x, y) = 0.

deci, putem rezolva cele trei ecuații pentru a găsi cea mai înaltă Locație(x, y) care satisface constrângerea.

problema devine acum un exercițiu aritmetic.

răspunsul estef(x, y) = 2 where x = 1 and y = 1.

imagine de autor folosind Grapher pe macOS

puteți verifica valorile cu ecuațiile.

De asemenea,λ = -4/5 ceea ce înseamnă că acești gradienți sunt în direcții opuse așa cum era de așteptat.în general, multiplicatorul Lagrange este util pentru a rezolva problemele de optimizare a constrângerilor.

găsim punctul(x, y) unde gradientul funcției pe care o optimizăm și gradientul funcției de constrângere este în paralel folosind multiplicatorulλ.

în rezumat, Am urmat pașii de mai jos:

  • identificați funcția de optimizare (maximizare sau minimizare): f(x, y)
  • identificați funcția pentru constrângere: g(x, y) = 0
  • definiți LagrangianulL = f(x, y) - λ g(x, y)
  • rezolvațigrad L = 0 satisfăcând constrângerea

este la fel de mecanic ca cele de mai sus și acum știți de ce funcționează.

dar mai sunt câteva lucruri de menționat.

când nu funcționează

am făcut câteva presupuneri în timp ce explicam multiplicatorul Lagrange.

în primul rând, am presupus că toate funcțiile au gradienți (primele derivate), ceea ce înseamnă că funcțiilef(x, y)șig(x, y) sunt continue și netede.

în al doilea rând, presupun, de asemenea, căf(x, y) are al doilea derivat, astfel încât să putem verifica dacă soluția(x, y) este de fapt maximul sau nu.

aceste două ipoteze sunt adevărate în acest exemplu, dar în probleme reale ar trebui să verificați că pentru a putea utiliza multiplicatorul Lagrange pentru a rezolva problema de optimizare a constrângerilor.în al treilea rând, am simplificat întrebarea, astfel încât trebuie să ne ocupăm doar de un maxim.

cu alte cuvinte, forma muntelui este definită astfel încât există o singură soluție la problema de optimizare constrânsă.

în problemele din viața reală, Muntele ar putea avea forme mai complicate, cu mai multe vârfuri și văi.

https://unsplash.com/@simonfitall

în acest caz, ar trebui să ne ocupăm de problema optimizării globale (adică, maxime locale multiple).

în schimb, exemplul din acest articol tratează doar un maxim local, care este, de asemenea, maximul global.

sper că înțelegerea dvs. despre multiplicatorul Lagrange este optimă acum.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *