Outline Minimi Vincolati 1 Teorema dei moltiplicatori di Lagrange 2 Uso pratico dei moltiplicatori di Lagrange 3 Derivazione alternativa dei moltiplicatori 4 Le condizioni di Karush-Kuhn-Tucker (Metodi Matematici e Calcolo per Ingegneria) Enrico Bertolazzi DIMS – Università di Trento anno accademico 2006/2007 Minimi Vincolati 1 / 27 Teorema dei moltiplicatori di Lagrange Minimi Vincolati 2 / 27 Teorema dei moltiplicatori di Lagrange Dimostrazione Teorema (dei moltiplicatori di Lagrange) R n R R n R m. Sia data f (x) : 7→ e una mappa di vincoli h(x) : 7→ Sia x? un minimo locale di f (x) soddisfacente i vincoli (cioè h(x? ) = 0). Se ∇h(x? ) è di rango massimo allora esistono m scalari λk tali che ∇f (x? ) − m X λk ∇hk (x? ) = 0T (A) Se x? è minimo locale allora esiste > 0 tale che f (x? ) ≤ f (x), zT Rn che soddisfa ∇h(x?)z = 0 vale la diseguaglianza ∇2 f (x? ) − m X ! λk ∇2 hk (x? ) z ≥ 0 fk (x) = f (x) + k kh(x)k2 + α kx − x? k2 , α>0 e la successione di minimi locali (non vincolati) in B = {x | kx − x? k ≤ } (B) fk (xk ) ≤ fk (x) k=1 in altre parole la matrice ∇2x f (x? ) − λ · h(x? ) è semi-definita positiva nel Kernel di ∇h(x? ). Minimi Vincolati per ogni x tale che: kx − x? k ≤ ed h(x) = 0 Consideriamo quindi la successione di funzioni k=1 inoltre per ogni z ∈ (1/11) 3 / 27 per ogni x ∈ B dimostreremo il teorema usando le condizioni di minimo non vincolato e sfruttando il fatto che xk → x? Minimi Vincolati 4 / 27 Teorema dei moltiplicatori di Lagrange Teorema dei moltiplicatori di Lagrange Dimostrazione (2/11) Dimostrazione (3/11) Passo 1: il limite della successione xk sta’ sul vincolo Passo 2: il limite della successione xk è x? Poiché la successione xk è contenuta nella palla compatta B allora esiste al più una sotto-successione xkj → x̄ ∈ B. Per semplificare assumiamo che xk → x̄ ∈ B. Consideriamo xk dalla sua definizione avremo Consideriamo fk (xk ) ≤ fk (x? ) = f (x? ) + k kh(x? )k2 + α kx? − x? k2 fk (xk ) = f (xk ) + k kh(xk )k2 + α kxk − x? k2 ≤ f (x? ) da cui segue fk (xk ) ≤ f (x? ) α kxk − x? k2 ≤ f (x? ) − f (xk ) − k kh(xk )k2 ≤ f (x? ) − f (xk ) e inoltre passando al limite per k → ∞ e sfruttando la continuità delle norme fk (xk ) = f (xk ) + k kh(xk )k2 + α kxk − x? k2 ≤ f (x? ) lim α kxk − x? k2 ≤ α kx̄ − x? k2 ≤ f (x? ) − f (x̄) per cui avremo k→∞ k kh(xk )k2 + α kxk − x? k2 ≤ f (x? ) − min f (x) = C < +∞ x∈B poiché kh(x̄)k = 0 e x? è il minimo in B che rispetta il vincolo avremo da questo segue α kx̄ − x? k2 ≤ f (x? ) − f (x̄) ≤ 0 lim kh(xk )k2 = 0 k→∞ cioè x̄ = x? . cioè kh(x̄)k = 0 Minimi Vincolati 5 / 27 Teorema dei moltiplicatori di Lagrange Dimostrazione (4/11) Passo 3: costruzione dei moltiplicatori 6 / 27 Dimostrazione (5/11) Passo 3: costruzione dei moltiplicatori Moltiplicando a sinistra per ∇h(xk ) otteniamo Poiché gli xk sono minimi locali non vincolati per fk (x) allora avremo ∇h(xk )∇f (xk )T + 2k∇h(xk )∇h(xk )T h(xk ) + 2α∇h(xk )(xk − x? ) = 0 ∇fk (xk ) = 0T R poiché ∇h(x? ) ∈ m×n ha rango massimo da un certo k in poi per continuità tutte le ∇h(xk ) hanno rango massimo e quindi ∇h(xk )∇h(xk )T ∈ m×m sono matrici quadrate invertibili, da cui −1 2kh(xk ) = − ∇h(xk )∇h(xk )T ∇h(xk ) ∇f (xk )T + 2α(xk − x? ) cioè R ∇f (xk ) + k∇ kh(xk )k2 + α∇ kxk − x? k2 = 0 ricordiamo che ∇ kxk2 = ∇(x · x) = 2xT , Minimi Vincolati Teorema dei moltiplicatori di Lagrange ∇ kh(x)k2 = ∇(h(x) · h(x)) = 2h(x)T ∇h(x) e passando al limite per k → ∞ lim 2kh(xk ) = − ∇h(x? )∇h(x? )T da cui segue (facendo i trasposti delle matrici) k→∞ ∇h(x? )∇f (x? )T definendo ∇f (xk )T + 2k∇h(xk )T h(xk ) + 2α(xk − x? ) = 0 λ = ∇h(x? )∇h(x? )T Minimi Vincolati −1 7 / 27 Minimi Vincolati −1 ∇h(x? )∇f (x? )T 8 / 27 Teorema dei moltiplicatori di Lagrange Teorema dei moltiplicatori di Lagrange Dimostrazione (6/11) Passo 3: costruzione dei moltiplicatori Dimostrazione (7/11) Passo 4: condizioni necessarie di minimo Poiché gli xk sono minimi locali non vincolati per fk (x) allora le matrici ∇2 fk (xk ) Definendo T −1 λ = ∇h(x? )∇h(x? ) sono semi-definite positive, cioè T ∇h(x? )∇f (x? ) z T ∇2 fk (xk )z ≥ 0, sostituendo nella ∀z ∈ Rn inoltre ∇f (xk )T + 2k∇h(xk )T h(xk ) + 2α(xk − x? ) = 0 ∇2 fk (xk ) = ∇2 f (xk ) + k∇2 kh(xk )k2 + 2α∇(xk − x? ) il limite di 2kh(xk ) con λ otteniamo = ∇2 f (xk )T + k∇2 ∇f (x? )T − ∇h(x? )T λ = 0 m X hi (xk )2 + 2αI i=1 osserviamo che ∇2 hi (x)2 = ∇(2hi (x)∇hi (x)T ) = 2∇hi (x)T ∇hi (x) + 2hi (x)∇2 hi (x) Minimi Vincolati 9 / 27 Teorema dei moltiplicatori di Lagrange Minimi Vincolati 10 / 27 Teorema dei moltiplicatori di Lagrange Dimostrazione (8/11) Dimostrazione (9/11) Passo 4: condizioni necessarie di minimo Passo 4: condizioni necessarie di minimo e sostituendo La diseguaglianza precedente vale per ogni z ∈ successione zk , cioè ∇2 hi (x)2 = 2∇hi (x)T ∇hi (x) + 2hi (x)∇2 hi (x) Rn quindi anche per ogni 0 ≤ zkT ∇2 f (xk )zk + 2α kzk k2 + 2k k∇h(xk )zk k2 + nella espressione dell’Hessiano otteniamo m X T (2khi (xk ))zk ∇2 hi (xk )zk i=1 Consideriamo ora una generica successione zk → z e passando al limite m m X X per k → ∞ ∇2 fk (xk ) = ∇2 f (xk ) + 2αI + 2k ∇hi (xk )T ∇hi (xk ) + 2k hi (xk )∇2 hi (xk ) 0 ≤ z T ∇2 f (x? )z + 2α kzk2 + lim 2k k∇h(xk )zk2 i=1 i=1 e per z ∈ T k→∞ Rn abbiamo + 2 0 ≤ z ∇ fk (xk )z = z T ∇2 f (xk )z + 2α kzk2 + 2k k∇h(xk )zk2 + m X i=1 m X (2khi (xk ))z T ∇2 hi (xk )z i=1 lim (2khi (xk )) z T ∇2 hi (x? )z k→∞ ricordando che limk→∞ (2khi (xk )) = −λi abbiamo m X 0 ≤ z T ∇2 f (x? )z + 2α kzk2 − λi z T ∇2 hi (x? )z + lim 2k k∇h(xk )zk k2 i=1 Minimi Vincolati 11 / 27 Minimi Vincolati k→∞ 12 / 27 Teorema dei moltiplicatori di Lagrange Teorema dei moltiplicatori di Lagrange Dimostrazione (10/11) Passo 4: condizioni necessarie di minimo Dimostrazione (11/11) Passo 4: condizioni necessarie di minimo se valesse ∇h(xk )zk = 0 tenendo conto che α > 0 può essere scelto arbitrariamente piccolo otterremmo 0 ≤ z T ∇2 f (x? )z − m X Consideriamo il limite λi z T ∇2 hi (x? )z −1 lim zk = z − lim ∇h(xk )T ∇h(xk )∇h(xk )T ∇h(xk )z i=1 k→∞ Consideriamo quindi zk come la proiezione di z nel Kernel di ∇h(xk ) cioè −1 zk = z − ∇h(xk )T ∇h(xk )∇h(xk )T ∇h(xk )z k→∞ −1 = z − ∇h(x? )T ∇h(x? )∇h(x? )T ∇h(x? )z e quindi se z è nel kernel di ∇h(x? ) cioè ∇h(x? )z = 0 abbiamo lim zk = z infatti k→∞ −1 ∇h(xk )zk = ∇h(xk )z − ∇h(xk )∇h(xk ) ∇h(xk )∇h(xk )T ∇h(xk )z T e questo conclude la dimostrazione. = ∇h(xk )z − ∇h(xk )z = 0 Resta ora da dimostrare che limk→∞ zk = z se z è nel kernel di ∇h(x? ). Minimi Vincolati 13 / 27 Uso pratico dei moltiplicatori di Lagrange Minimi Vincolati 14 / 27 Uso pratico dei moltiplicatori di Lagrange Uso pratico dei moltiplicatori di Lagrange Uso pratico dei moltiplicatori di Lagrange Quando si affronta un problema di minimo vincolato del tipo: minimizzare: f (x) Consideriamo una coppia (x, λ) che soddisfa soggetta ai vincoli ∇x L(x, λ) = 0 ∇λ L(x, λ) = 0 h(x) = 0 e la matrice Conviene definite la Lagrangiana ∇2x L(x, λ) = ∇2x f (x) − L(x, λ) = f (x) − λ · h(x) m X λk ∇2x hk (x) k=1 In modo che i punti di minimo/massimo sono i punti stazionari di L(x, λ) cioè allora le condizioni necessarie e sufficienti per avere un minimo/massimo locali sono le seguenti: (prossimo lucido) ∇x L(x, λ) = ∇x f (x) − λ ∇x h(x) = 0 T ∇λ L(x, λ) = h(x) = 0 Minimi Vincolati 15 / 27 Minimi Vincolati 16 / 27 Uso pratico dei moltiplicatori di Lagrange Derivazione alternativa dei moltiplicatori Uso pratico dei moltiplicatori di Lagrange Teorema della funzione implicita Se x è punto di minimo locale allora ∇x L(x, λ) è semi-definita positiva nel Kernel di ∇h(x? )), cioè z T ∇x L(x, λ)z ≥ 0, Teorema Sia A ⊂ z ∈ Ker(∇h(x? )) Se x è punto di massimo locale allora ∇x L(x, λ) è semi-definita negativa nel Kernel di ∇h(x? ), cioè z T ∇x L(x, λ)z ≤ 0, z ∈ Ker(∇h(x? )) z ∇x L(x, λ)z > 0, 2 h(x0 , y0 ) = 0; 3 ∂h(x0 ,y0 ) ∂y non singolare. Rn e V ⊂ Rm e una funzione y0 = φ(x0 ); z ∈ Ker(∇h(x? )) \ {0} h(x, y) = 0 e solo se y = φ(x) (per x ∈ U e y ∈ V ); allora x è punto di minimo locale. Analogamente se ∇x L(x, λ) è definita negativa nel Kernel di ∇h(x? ), cioè z T ∇x L(x, λ)z < 0, (x0 , y0 ) ∈ A; Allora esistono due aperti U ⊂ φ : U 7→ V tali che Se ∇x L(x, λ) è definita positiva nel Kernel di ∇h(x? ), cioè T Rn+m aperto e h ∈ C 1(A, Rm) sia inoltre 1 φ ∈ C 1 (U, V ) e vale ∇x φ(x) = − (∇y h(x, φ(x)))−1 ∇x h(x, φ(x)) z ∈ Ker(∇h(x? )) \ {0} allora x è punto di massimo locale. Minimi Vincolati 17 / 27 Derivazione alternativa dei moltiplicatori Minimi Vincolati 18 / 27 Derivazione alternativa dei moltiplicatori Riconsideriamo minimizzare: f (z), Usando l’espressione della derivata di φ h(z) = 0 Se h(z) ha rango massimo possiamo (eventualmente riordinando le coordinate) partizionare z = (x; y) in modo da soddisfare per h(x, y) il teorema della funzione implicita ottenendo (almeno localmente) il problema non vincolato equivalente ∇x φ(x? ) = − (∇y h(x? , φ(x? )))−1 ∇x h(x? , φ(x? )) otteniamo ∇x f (x, φ(x? )) − ∇y f (x? , φ(x? )) (∇y h(x? , φ(x? )))−1 ∇x h(x? , φ(x? )) = 0T definiamo ora i moltiplicatori λ come minimizzare: f (x, φ(x)) λ = (∇y h(x? , φ(x? )))−T ∇y f (x? , φ(x? ))T I punti stazionari devo quindi soddisfare ∇f (x? , φ(x? )) = 0T e quindi avremo ∇x f (x, φ(x? )) − λT ∇x h(x? , φ(x? )) = 0T cioè ∇x f (x? , φ(x? )) + ∇y f (x? , φ(x? ))∇φ(x? ) = 0T Minimi Vincolati 19 / 27 Minimi Vincolati 20 / 27 Derivazione alternativa dei moltiplicatori Le condizioni di Karush-Kuhn-Tucker Le condizioni di Karush-Kuhn-Tucker ricordiamo l’espressione dei moltiplicatori λ = (∇y h(x? , φ(x? )))−T ∇y f (x? , φ(x? ))T I moltiplicatori di Lagrange precedentemente considerati sono utili nel calcolo di minimi vincolati nel caso di vincoli di uguaglianza. sostituendola nella espressione: T ∇y f (x, φ(x? )) − λ ∇y h(x? , φ(x? )) Queste condizioni non sono valide nel caso si considerino anche vincoli unilateri (diseguaglianze). otteniamo 0T e quindi unendo le due espressioni Le condizioni di Karush-Kuhn-Tucker permettono di caratterizzare i punti di massimo e minimo del problema ∇x f (x, φ(x? )) − λT ∇x h(x? , φ(x? )) = 0T Minimizzare ∇y f (x, φ(x? )) − λT ∇y h(x? , φ(x? )) = 0T Con vincoli e tornando alle coordinate z? = (x? ; λ) ∇z f (z? ) − λT ∇z h(z? ) = 0T f (x) hk (x) = 0, k = 1, 2, . . . , p gk (x) ≥ 0, k = 1, 2, . . . , q che è la condizione cercata. Minimi Vincolati 21 / 27 Le condizioni di Karush-Kuhn-Tucker Minimi Vincolati 22 / 27 Le condizioni di Karush-Kuhn-Tucker Le condizioni di Karush-Kuhn-Tucker Le condizioni di Karush-Kuhn-Tucker Trasformazione dei vincoli di diseguaglianza Aggiungendo una variabili ausiliarie k per ogni diseguaglianza del problema Minimizzare Con vincoli Dato il problema f (x) Minimizzare hk (x) = 0, k = 1, 2, . . . , p gk (x) ≥ 0, k = 1, 2, . . . , q Con vincoli Con vincoli f (x) `k (x, ) = 0, k = 1, 2, . . . , p + q dove ( hk (x) `k (x, ) = gk−p (x) − 2k Minimi Vincolati `k (x, ) = 0, k = 1, 2, . . . , p + q possiamo usare le condizioni precedentemente sviluppate per caratterizzare i punti di massimo e minimo vincolato. Sfruttando la struttura del problema si possono scrivere le condizioni al primo e secondo ordine in modo che la variabili slack (gli k ) non compaiono nella formulazione. Queste condizioni prendono il nome di condizioni KKT (di Karush-Kuhn-Tucker) questo viene trasformato nel problema di minimo vincolato Minimizzare f (x) per k = 1, 2, . . . , p per k = p + 1, p + 2, . . . , p + q 23 / 27 Minimi Vincolati 24 / 27 Le condizioni di Karush-Kuhn-Tucker Le condizioni di Karush-Kuhn-Tucker Le condizioni di Karush-Kuhn-Tucker Le condizioni di Karush-Kuhn-Tucker Condizioni al primo ordine Condizioni necessarie al secondo ordine Data la lagrangiana L(x, λ, µ) = f (x) − p X λk hk (x) − k=1 q X µk gk (x) k=1 Se x? è un punto di minimo (o massimo) locale vincolato allora valgono le le condizioni KKT Sia x? è un punto di minimo (o massimo) locale vincolato allora devono valore le condizioni KKT al primo ordine e inoltre per ogni direzione d tale che ∇x L(x? , λ, µ) = 0 hk (x? ) = 0 k = 1, 2, . . . , p gk (x? ) ≥ 0 k = 1, 2, . . . , q µk ≥ 0 k = 1, 2, . . . , q µk gk (x? ) = 0 k = 1, 2, . . . , q Minimi Vincolati Le condizioni di Karush-Kuhn-Tucker Condizioni sufficienti al secondo ordine Sia x? è un punto che soddisfa le condizioni KKT al primo ordine e inoltre per ogni direzione d 6= 0 tale che k = 1, 2, . . . , p se gk (x? ) = 0 soddisfa anche dT ∇xx L(x? , λ, µ)d > 0 e inoltre se gk (x? ) = 0 abbiamo µk > 0 allora x? è un punto di minimo locale. Minimi Vincolati se gk (x? ) = 0 dT ∇xx L(x? , λ, µ)d ≥ 0 25 / 27 ∇gk (x? )d = 0 k = 1, 2, . . . , p ∇gk (x? )d = 0 deve anche soddisfare Le condizioni di Karush-Kuhn-Tucker ∇hk (x? )d = 0 ∇hk (x? )d = 0 27 / 27 Minimi Vincolati 26 / 27