Metodo dei moltiplicatori di Lagrange: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
|||
Riga 1:
{{doppia immagine|destra|LagrangeMultipliers3D.png|250|LagrangeMultipliers2D.svg|250|Ricerca dei massimi di <math>f(x,y)</math> dato il vincolo (rappresentato in rosso) <math>g(x,y)=c</math>.|Rappresentazione mediante curve di livello del problema. Le linee blu rappresentano curve di livello di <math>f(x,y)</math>. La soluzione al problema è data dai punti di tangenza tra la linea rossa e le linee blu.}}
In [[analisi matematica]] e [[programmazione matematica]], il '''metodo dei moltiplicatori di [[Joseph Louis Lagrange|Lagrange]]''' permette di ridurre i [[punto stazionario|punti stazionari]] di una funzione <math>f(\vec x)</math> in
<math> \Lambda(\vec x, \vec \lambda) = f(\vec x) + \vec \lambda \cdot \, \vec g(\vec x) = f(\vec x) + \sum_{j=1}^J \lambda_j g_j(\vec x)</math>,
Riga 10:
== Introduzione ==
Si consideri il caso bidimensionale. Si vuole massimizzare una
:<math>g\left( x,y \right) = c,</math>
ove
:<math>f \left( x, y \right)=d_n</math>
Riga 22:
Si supponga di camminare lungo la curva di livello con <math> g = c </math>. In generale le curve di livello della <math> f </math> e della <math> g </math> sono distinte, quindi la curva di livello per <math> g = c </math> può intersecare le curve di livello della <math> f </math>. Questo equivale a dire che mentre ci si muove lungo la curva di livello per <math> g = c </math> il valore della <math>f</math> può variare. Solo quando la curva di livello per <math> g = c </math> è tangente a una delle curve di livello della <math> f </math> (senza attraversamento), il valore di <math> f </math> non aumenta né diminuisce.
Questo succede esattamente nei punti in cui la [[componente tangente]] della [[derivata totale]] si annulla: <math>d f_\parallel = 0</math>, cioè nei [[punto stazionario|punti stazionari]] vincolati della
Un esempio familiare è quello delle [[curva di livello|curve di livello]] per temperatura e pressione delle mappe meteorologiche: i massimi e minimi vincolati capitano dove le mappe sovrapposte mostrano linee tangenti ([[isoplete]]).
Geometricamente la condizione di tangenza si traduce dicendo che i [[gradiente|gradienti]] della <math> f </math> e della <math> g </math> sono vettori paralleli dove c'è un massimo, visto che i gradienti sono sempre perpendicolari alle curve di livello. Introducendo lo scalare incognito
:<math> \frac {\partial}{\partial x }\left[f \left(x, y \right) + \lambda g \left(x, y \right) \right] = 0 </math>
:<math> \frac {\partial}{\partial y}\left[f \left(x, y \right) + \lambda g \left(x, y \right) \right] = 0 </math>
per
Una volta che i valori per
:<math> \Lambda \left( x , y \right) = f \left( x , y \right) + \lambda g \left( x , y \right)</math>
Riga 40:
=== Differenze tra massimi, minimi e punti di sella ===
Le soluzioni sono ''[[punto stazionario|punti stazionari]]'' della lagrangiana <math>\Lambda</math> e possono essere anche [[punto di sella|punti di sella]], ovvero né massimi né minimi di <math>\Lambda</math> o <math>F</math>. <math>\Lambda</math> è illimitata: dato un punto
== Spiegazione analitica ==
Sia l'obiettivo
:<math>\Lambda(\mathbf x, \boldsymbol \lambda) = f + \sum_j \lambda_j g_j.</math>
Sia il criterio di ottimizzazione sia i vincoli
:<math>\nabla_{\mathbf x} \Lambda = 0 \Leftrightarrow \nabla_{\mathbf x} f = - \sum_j \lambda_j \nabla_{\mathbf x} g_j,</math>
Riga 60:
:<math>\frac{\partial \Lambda}{\partial {g_j}} = \lambda_j.</math>
Il metodo dei moltiplicatori di Lagrange è generalizzato dalle [[condizioni di Karush-Kuhn-Tucker]].
Riga 68:
[[File:Lagrange very simple.svg|thumb|upright=1.4|Figura 3. Illustrazione del problema di ottimizzazione vincolata.]]
Si voglia massimizzare <math>f(x,y)=x+y</math> col vincolo <math>x^2+y^2-1=0</math>. Il vincolo è la [[circonferenza]] unitaria, e le curve di livello dell'obiettivo sono [[retta|rette]] con pendenza <math>-1</math>: si vede subito graficamente che il massimo viene raggiunto in <math>(\sqrt{2}/2,\sqrt{2}/2)</math> e il minimo viene raggiunto in <math>(-\sqrt{2}/2,-\sqrt{2}/2)</math>.
Analiticamente, ponendo <math>g(x,y)=x^2+y^2-1</math>, e
Riga 87:
:<math>1 + 2 \lambda x = 1 + 2 \lambda y,</math>
cioè <math>x=y</math> (<math>x \neq 0</math> altrimenti la <math>(i)</math> diventa <math>1 = 0</math>). Sostituendo nella <math>(iii)</math> si ottiene <math>2x^2=1</math>, cosicché <math>x=\pm \sqrt{2}/2</math> e i punti stazionari sono <math>(\sqrt{2}/2,\sqrt{2}/2)</math> e <math>(-\sqrt{2}/2,-\sqrt{2}/2)</math>. Valutando l'obiettivo <math>x+y</math> su questi si ottiene:
:<math>f(\sqrt{2}/2,\sqrt{2}/2)=x+y=\sqrt{2}\mbox{ e } f(-\sqrt{2}/2,-\sqrt{2}/2)= x+y=-\sqrt{2},</math>
Riga 105:
:<math>\sum_{n=1}^N p_n - 1.</math>
Per tutti gli
:<math>\frac{\partial}{\partial p_n}(-\sum_{n=1}^N p_n\log_2 p_n + \lambda \sum_{n=1}^N p_n - \lambda)=0.</math>
Riga 113:
:<math>-\left(\frac{1}{\ln 2}+\log_2 p_n \right) + \lambda = 0\qquad\Longrightarrow\qquad p_n=2^\lambda /e.</math>
Questo dimostra che tutti i
:<math>\sum_{n=1}^N p_n = 1, </math>
si ottiene:
:<math>p_n = \frac{1}{N}.</math>
|