Minimi Vincolati Outline Dimostrazione

annuncio pubblicitario
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
Scarica