Sei sulla pagina 1di 19

Introduzione allottimizzazione vincolata

A. Agnetis

Introduzione

Il problema di ottimizzazione vincolata ` il seguente: e min f (x) x X Rn Le denizioni fondamentali (minimo locale e globale, insieme ammissibile etc.) sono state gi` introdotte allinizio della precedente dispensa sullottimizzazione non vincolata, cui si a rimanda. In questa dispensa tratteremo alcuni concetti introduttivi relativi al problema (1) in cui linsieme X non coincide con Rn , bensi ` specicato per mezzo di vincoli, ossia e un insieme di equazioni {hi (x), i E} e/o disequazioni {gj (x), j I}: min f (x) h(x) = 0 g(x) 0 dove h(x) e g(x) sono vettori di funzioni, ciascuna di n variabili, e dunque 0 indica, rispettivamente, il vettore nullo con |E| e |I| componenti. Nel seguito faremo alcune osservazioni relative alle dierenze che insorgono rispetto al caso non vincolato, e arriveremo a riconoscere quali condizioni devono essere soddisfatte anch un vettore x sia ottimo. Seguir` lenunciazione delle condizioni necessarie del 1 e a ordine, di cui non vedremo comunque la dimostrazione generale in tutti i dettagli, ma ci limiteremo a fare alcune considerazioni di tipo intuitivo. Vedremo inne alcuni cenni agli algoritmi che si utilizzano per i problemi di ottimizzazione con soli vincoli di uguaglianza. Richiamiamo qui una denizione che ci sar` utile in seguito. a

(1)

(2)

Dipartimento di Ingegneria dellInformazione - Universit` di Siena a

Definizione 1 Dato un vettore h = [h1 , h2 , . . . , hm ] di funzioni di x Rn , la matrice jacobiana ` denita come la matrice m n costituita dai gradienti delle m funzioni, ossia e
h = J(x) = x

h1 (x)T h2 (x)T ... hT (x) m

h1 x1 h2 x1 hm x1

... ... ... hm ... x2

h1 x2 h2 x2

h1 xn h2 xn hm xn

Inoltre, un punto x ` di regolarit` per h se i vettori e a

hi (), i = 1, . . . , m sono linearmente x

indipendenti, ossia se la matrice jacobiana h/x calcolata nel punto x ha rango m. Si noti che se m n, questa denizione corrisponde a richiedere che la matrice jacobiana abbia rango pieno.

Condizioni di ottimalit` a

Nel caso non vincolato, le condizioni necessarie consistevano nellannullamento del gradiente e nellessere lhessiana semidenita positiva. Nel seguito illustreremo alcune condizioni simili anche per il caso vincolato, approfondendo in particolare le condizioni del primo ordine. Supporremo che sia la funzione obiettivo f che le hi e gj siano almeno due volte dierenziabili. Si noti che questo non pone grandi restrizioni alla forma della regione ammissibile X. Infatti, bench la frontiera della regione ammissibile possa presentare ire regolarit` (come ad esempio salti o punti angolosi), essa spesso ` ancora esprimibile come a e intersezione di varie regioni, ciascuna avente frontiera regolare. Ad esempio, supponiamo che X consista di tutti e soli i punti che soddisfano g(x, y) = |x1 | |x2 | + 1 0 La funzione g(x, y) non ` dierenziabile nei quattro punti (0,1), (0,-1), (1,0), (-1,0). e Tuttavia, essa pu` anche essere equivalentemente espressa per mezzo delle quattro diso equazioni lineari g1 (x, y) = x1 + x2 + 1 0, g2 (x, y) = x1 x2 + 1 0, g3 (x, y) = x1 + x2 + 1 0, g4 (x, y) = x1 x2 + 1 0. Nel seguito illustreremo le idee fondamentali dellottimizzazione vincolata per mezzo di alcuni semplici esempi. Una denizione molto importante ` la seguente. e Definizione 2 Data una regione X = {x|h(x) = 0, g(x) 0} e un punto x X, l insieme dei vincoli attivi in x ` costituito da tutti i vincoli soddisfatti in x alluguaglianza, e ossia Ia (x) = {i E} {j I|gj (x) = 0} 2

Ricordiamo che il gradiente di una funzione f (x) in un punto x0 ` sempre ortogonale e alla curva di livello passante per quel punto, ossia al luogo f (x) = f (x0 ). Dunque, se calcoliamo il gradiente di un vincolo hi (x) = 0 in un punto x, la direzione di ortogonale al vincolo. hi (x) ` e

2.1

Un vincolo di uguaglianza

Il primo esempio che consideriamo ` il seguente. e min x1 + x2 h1 (x1 , x2 ) = x2 + x2 2 = 0 1 2 In questo esempio X ` costituita dalla circonferenza di raggio e 2 e centro nellorigine. In questo caso |E| = 1 mentre |I| = 0, ossia ` presente solo un singolo vincolo di uguaglianza. e Evidentemente, il punto di minimo ` x = (1, 1). Per ogni altro punto della circone ferenza, ` possibile muoversi in modo da mantenere lammissibilit` (ossia, di rimanere e a sulla circonferenza) e contemporaneamente diminuire la funzione obiettivo. Ad esempio, dal punto (1, 1), la funzione migliora spostandosi lungo la circonferenza in senso antiorario. Si osservi che il gradiente della funzione obiettivo ` e dal punto, mentre nel punto x , il gradiente f (x ) e la normale al vincolo esiste una costante scalare, , tale che 1 f (x ) = h1 (x ) 1 In questo caso, si ha = 1/2. 1 Vediamo ora che il parallelismo del gradiente della funzione e del gradiente del vincolo nel punto di minimo non ` un fatto casuale, ma del tutto generale. Consideriamo infatti il e caso in cui la regione ammissibile ` denita da un singolo vincolo di uguaglianza h1 (x) = 0, e e sia x un punto appartenente a X, quindi tale che h1 (x) = 0. Se andiamo a considerare un punto incrementato x + d, con d Rn , dalla formula di Taylor arrestata ai termini del 1 ordine: h1 (x + d) h1 (x) + h1 (x)T d f (x, y) = [1 1]T , indipendente h1 (x ) sono paralleli, ossia h1 (x1 , x2 ) = [2x1 2x2 ]T . Osservando la Figura 1, si pu` vedere che o (3)

(4)

essendo h1 (x) = 0, il nuovo punto x + d ` ancora ammissibile se h1 (x + d) = 0, ossia se, e a meno degli innitesimi di ordine superiore, h1 (x)T d = 0 3 (5)

h1

h1
(1,1)

(-2,0)

x*=(-1,-1)

f h1

f h1

Figura 1: Linsieme X nel problema (3). Daltro canto, il punto incrementato risulta migliore del precedente se d ` una direzione e di discesa, ossia, come sappiamo f (x)T d < 0 (6)

Dunque, se esiste un vettore d tale da soddisfare sia (5) che (6), possiamo sperare di trovare un punto ancora ammissibile e tale da migliorare la funzione obiettivo. Di conseguenza, una condizione necessaria anch un punto x sia di minimo, ` che non esista alcuna e e direzione d che sia ortogonale al gradiente del vincolo e allo stesso tempo che formi con il gradiente della funzione un angolo ottuso. A questo proposito, ` interessante il seguente e risultato: Teorema 1 Date due funzioni f (x) e h1 (x), se in un punto x si ha che non sono paralleli, allora esiste un vettore d che soddisfa sia (5) che (6). Dim. Dimostriamo che tale vettore esiste, ed ` dato da e d= I Possiamo scrivere h1 (x)T d = h1 (x)T f (x) + h1 (x)T h1 (x) h1 (x)T f (x) h1 (x) 2 4 h1 (x) h1 (x)T h1 (x) 2 f (x). f (x) e h1 (x)

e poich e

h1 (x)T h1 (x) =

h1 (x) 2 , si verica che la (5) ` soddisfatta. Passando ora e h1 (x) h1 (x)T h1 (x) 2

alla verica della (6), abbiamo f (x)T d = f (x)T I = f (x)T f (x) + f (x)

f (x)T h1 (x) h1 (x)T f (x) h1 (x) 2

Si utilizza a questo punto la disequazione di Hlder, la quale dice che il valore assoluto o del prodotto scalare di due vettori non paralleli ` strettamente minore del prodotto delle e norme euclidee dei due vettori. Poich stiamo supponendo che f (x) e h1 (x) non siano e paralleli, applicando questa disequazione al numeratore dellultimo termine otteniamo f (x)T d < f (x)T f (x) + e dunque d soddisfa anche la (6). Alla luce di questo teorema, abbiamo che allottimo senzaltro gradiente della funzione e del vincolo devono essere paralleli, ossia, deve valere la condizione (4) per qualche valore di . Tale condizione, peraltro, pu` essere espressa in un modo leggermente diverso. o 1 Introduciamo la funzione lagrangiana L(x, 1 ) = f (x) 1 h1 (x) e indichiamo con x, ossia
x L(x, 1 ) x L(x, 1 )

f (x)

=0

il gradiente calcolato rispetto al solo vettore delle variabili

L L L , ,..., x1 x2 xn (7)

Allora, la condizione (4) pu` riformularsi dicendo che deve esistere un R tale che: o 1
x L(x

, ) = 0 1

Questa espressione suggerisce di cercare i punti di minimo del problema vincolato tra i punti stazionari della funzione lagrangiana. Il parametro 1 presente nella funzione prende il nome di moltiplicatore di Lagrange. Si osservi subito che, bench la (7) sia una condizione necessaria, essa non ` in generale e e suciente anch x sia un punto di minimo per la f nel problema vincolato. Infatti, e nellesempio precedente, ` immediato vericare che il punto (1, 1) soddisfa la (7), ma non e ` un punto di minimo (anzi, ` un punto di massimo). e e Unaltra osservazione ` che il segno del parametro non ha particolare signicato. e 1 Infatti, nella formulazione del problema, avremmo potuto rappresentare il vincolo, anzich e con x2 + x2 2 = 0, con x2 x2 + 2 = 0. La soluzione del problema ovviamente non 2 1 2 1 cambiava, ma per soddisfare la (7) si sarebbe dovuto scegliere = 1/2. Come vedremo 1 ora, la situazione ` invece diversa se sono presenti disequazioni. e 5

2.2

Una disequazione

Consideriamo ora lesempio precedente, ma estendendo la regione X a tutto il cerchio delimitato dalla circonferenza. Il problema diviene quindi min x1 + x2 g1 (x1 , x2 ) = 2 x2 x2 0 1 2 A dierenza di quanto avveniva nel problema (3), ora il vettore g1 (x) calcolato in un ` punto x sulla sulla circonferenza, punta verso linterno del cerchio. E facile osservare che la soluzione del problema ` ancora data dal punto (1, 1), e che vale la condizione e f (x ) = g1 (x ) 1 con = 1/2. 1 Seguendo lo stesso tipo di ragionamento svolto in precedenza, ci poniamo in un punto ammissibile x e vogliamo capire quali condizioni, se vericate, ci portano a escludere che x possa essere punto di minimo, e formulare cosi delle condizioni necessarie di ottimalit`. a Per quanto concerne la diminuzione della funzione obiettivo, nulla cambia, ossia, se non siamo al minimo, deve esistere una direzione d tale che f (x)T d < 0. Quello che ` diverso e ` il modo in cui ora va arontata la condizione di ammissibilit`. Dalla formula di Taylor, e a possiamo scrivere 0 g1 (x + d) g1 (x) + g1 (x)T d (9) (8)

e dunque lammissibilit` del punto x + d richiede che sia a g1 (x) + g1 (x)T d 0 (10)

Per stabilire allora se esiste una direzione d tale da soddisfare (6) e (10), distinguiamo il caso in cui x ` nellinterno della regione ammissibile da quello in cui giace invece sulla e frontiera. Caso 1. Se x ` nellinterno di X, allora g1 (x) > 0, cio` il vincolo non ` attivo in x. In e e e tal caso, la (10) ` vericata da qualunque vettore d, abbastanza piccolo in norma, tale e che x + d sia ancora nella regione ammissibile. Pi` precisamente, se u sempre considerare il vettore d = g1 (x) f (x) f (x) g1 (x) g1 (x)T f (x) f (x) g1 (x) 6 f (x) = 0, possiamo

che chiaramente soddisfa la (6). Per quanto concerne la (10), abbiamo g1 (x) + g1 (x)T d = g1 (x) 1

e, ricordando ancora la disequazione di Hlder, si ha che d soddisfa anche la (10). Dunque, o in questo caso lunica possibilit` perch una direzione di discesa ammissibile non esista ` a e e che sia f (x) = 0. Caso 2. Supponiamo ora che x appartenga alla frontiera di X, e quindi g1 (x) = 0, ossia il vincolo ` attivo in x. Le due condizioni (6) e (10) divengono allora e f (x)T d < 0 g1 (x)T d 0 (11) (12)

Queste due condizioni deniscono rispettivamente un semispazio aperto e uno chiuso. Se la loro intersezione non ` vuota, ` possibile individuare una direzione di discesa in cui e e ` garantita ancora lammissibilit`. Ora, ` facile rendersi conto che lunico caso in cui non e a e esiste una direzione d che soddis entrambe le (11) e (12) ` quello in cui e puntano nella stessa direzione, ossia esiste un 1 0 tale che f (x) = 1 g1 (x) (13) g1 (x) e f (x)

Si noti che stavolta il segno del moltiplicatore ` importante. Se infatti la (13) fosse e soddisfatta con un moltiplicatore negativo, g1 (x) e f (x) punterebbero in direzioni opposte e i due semispazi deniti dalle (11) e (12) verrebbero a coincidere (a meno della frontiera), e qualunque d in tale semispazio aperto soddisferebbe le (12). Introduciamo anche in questo caso la funzione lagrangiana L(x, 1 ) = f (x) 1 g1 (x) e osserviamo che essa ci consente di unicare i due sotto-casi esaminati. Possiamo infatti concludere che, se non esiste una direzione di discesa ammissibile nel punto x, allora risultano soddisfatte le due condizioni:
x L(x

, ) = 0 per qualche 0 1 1

(14) (15)

g1 (x ) = 0 1

La (15) ` nota come condizione di complementariet`, e implica che il moltiplicatore di e a o e Lagrange pu` essere strettamente positivo solo se il vincolo ` attivo. Infatti, se il vincolo 1 non ` attivo (caso 1), la condizione necessaria `, come abbiamo visto, lannullamento del e e gradiente della f , che si ottiene dalla (14) ponendo appunto = 0. Invece, se il vincolo 1 ` attivo (caso 2), la (15) ` soddisfatta e rimane la (14), che coincide con la (13). Si noti e e e che pu` anche accadere che = 0 anche se nel punto x il vincolo ` attivo. o 1 7

2.3

Pi` disequazioni u

Sempre seguendo il nostro esempio, introduciamo ora lulteriore vincolo x2 0. Il problema diventa allora: min x1 + x2 g1 (x, y) = 2 x2 x2 0 1 2 g2 (x, y) = x2 0 (16)

f g1 g2 f g1
(-2,0) (1,0)

g1 g2

(1,1)

g2 f g1
(2,0)

Figura 2: Linsieme X nel problema (16). ` e la regione ammissibile ` quella mostrata in Figura 2. E facile vericare che la e soluzione ottima ` x = ( 2, 0), punto nel quale ambedue i vincoli sono attivi. Ripee tendo la discussione dei paragra precedenti, possiamo dire che, partendo da un punto x in cui ambedue i vincoli sono attivi, una direzione d ` una direzione di discesa ammissibile, e a meno dei termini di ordine superiore, se g1 (x)T d 0 g2 (x)T d 0 f (x)T d < 0 ora, nel punto x vediamo che le prime due condizioni individuano un quadrante che per` o non contiene direzioni d per cui la terza condizione ` soddisfatta. Dunque, da x non e possono trovarsi direzioni ammissibili di discesa. Vediamo cosa si pu` dire della funzione lagrangiana in questo caso. Anzitutto, essendo o due i vincoli, aggiungiamo un termine nella funzione, che diviene: L(x, ) = f (x) 1 g1 (x) 2 g2 (x) (17)

ove indica il vettore [1 2 ]T dei moltiplicatori. Le due condizioni (14) e (15) diventano:
x L(x

, ) = 0 per qualche 0

(18) (19) (20)

g1 (x ) = 0 1 g2 (x ) = 0 2 ` E facile vericare che il punto x = ( 2, 0) soddisfa la (18), scegliendo 1/2 2 = 1

mentre le condizioni di complementariet` sono soddisfatte, essendo ambedue i vincoli a attivi in x . Consideriamo ora punti che non sono di minimo per (16), ad esempio il punto x = ( 2, 0). Anche qui, ambedue i vincoli sono attivi. Il gradiente della f per` non giace pi` o u nellarea per cui g1 ()T d 0 e x g2 ()T d 0. Quindi, ` possibile trovare una direzione x e di discesa ammissibile, come ad esempio ` d = [1 0]T . Daltro canto, si pu` facilmente e o vericare che x L(, ) = 0 solo scegliendo = [1/2 2 1], il che viola il requisito che x il vettore debba essere non negativo. Consideriamo inne il punto x = (1, 0), nel quale solo g2 ` attivo. Ricordando la (10), e e poich g1 () = 1, si ha che, anch d sia una direzione ammissibile di discesa deve e x e risultare 1+ g1 ()T d 0 x g2 ()T d 0 x f ()T d < 0 x Si noti che, data una qualsiasi direzione d, moltiplicandola per una costante positiva sufcientemente piccola, ` sempre possibile soddisfare la prima condizione. Dunque, occorre e preoccuparsi solo delle altre due. Poich e f () = [1 1]T e x g2 () = [0 1]T , una direzione x di discesa ammissibile `, ad esempio, d = [1/2 1/4]T . Andiamo a vedere se le condizioni e di ottimalit` sono soddisfatte in x. Anzitutto, poich g1 () > 0, la prima condizione a e x di complementariet` implica 1 = 0. Quindi, la condizione a cercare un valore 2 tale che x x L(, ) = 0 si riduce a f () 2 g2 () = 0, ma evidentemente lannullamento x x

della prima componente di x L(, ) richiederebbe che sia 1=0, ossia un tale valore 2 x non esiste e dunque x non soddisfa le condizioni di ottimalit`. a

2.4

Le condizioni di Karush-Kuhn-Tucker

Dallesempio illustrato, emerge il ruolo che alcune condizioni hanno nella caratterizzazione dei punti di minimo di un problema vincolato. Si tratta dellannullamento del gradiente 9

della funzione lagrangiana, la non negativit` dei moltiplicatori e le condizioni di complea mentariet` (le ultime due valgono solo relativamente ai vincoli espressi da disequazioni). a Vogliamo ora scrivere queste condizioni in generale, per qualunque problema di PNL, e formularle in modo rigoroso. A questo scopo, occorre fare unimportante osservazione relativa al modo in cui vengono specicati i vincoli. Abbiamo gi` osservato che il gradiente di un vincolo in x ` a e diretto ortogonalmente al vincolo nel punto x (e, nel caso di una disequazione, punta verso linterno del vincolo, ossia la parte ammissibile). Riprendendo il primo esempio con un vincolo di uguaglianza, osserviamo che lo stesso insieme ammissibile espresso da e h1 (x) = x2 + x2 2 = 0 ` anche espresso da h1 (x) = (x2 + x2 2)2 = 0. Da un punto di 1 2 2 1 vista formale non cambia nulla, in quanto linsieme individuato X ` lo stesso nei due casi. e Tuttavia, nel secondo caso, si ha h (x) = 0 per qualsiasi punto ammissibile x, e quindi,
1

in particolare, anche nel punto x = (1, 1). Dunque, formulando lo stesso problema (3) come min x1 + x2 h1 (x1 , x2 ) = (x2 + x2 2)2 = 0 1 2 si ha che il punto (1, 1) ` sempre, ovviamente, il punto di minimo, ma che ora esso e non soddisfa la condizione (4): f (x) = 1 h1 (x) in quanto la normale al vincolo ` identicamente nulla e dunque non compare nellespressione e di
x L.

Questo esempio mostra che, anch le condizioni viste nei capitoli precedenti e

siano condizioni necessarie di ottimalit`, i vincoli devono essere espressi in modo oppora tuno, potremmo dire in un certo senso non ridondante. Altrimenti, come si ` visto, e un punto pu` essere punto di minimo pur non soddisfacendo le condizioni. La denizione o che segue precisa questo concetto. Definizione 3 Dato un problema di programmazione non lineare (2), un punto ammissibile x, e il corrispondente insieme di vincoli attivi Ia (x), si dice che i vincoli attivi soddisfano la condizione di qualicazione in x se i loro gradienti, calcolati in x, sono linearmente indipendenti. Ricordando la denizione 1, la condizione di qualicazione dei vincoli attivi in x equivale a richiedere che x sia un punto di regolarit` per i vincoli attivi, ossia che la matrice a jacobiana costituita dai gradienti di tali vincoli abbia rango pieno. In particolare, si noti 10

ancora che se vale la qualicazione dei vincoli attivi in x, nessuna delle normali ai vincoli attivi pu` annullarsi in x. o Allo scopo di enunciare le condizioni di ottimalit` del primo ordine per problemi di a programmazione non lineare, diamo una denizione generale di funzione lagrangiana per un problema di PNL. Definizione 4 Dato un problema di programmazione non lineare (2), la funzione lagrangiana ` denita come e L(x, ) = f (x)
iE

i hi (x)
jI

j gj (x)

A questo punto diamo il risultato fondamentale, la cui dimostrazione ` al di l` degli e a scopi di queste dispense. Teorema 2 Sia x sia un minimo locale di (2), e in x valga la condizione di qualicazione dei vincoli attivi. Allora esiste un vettore , avente componenti , k I E, k tale che
x L(x

, ) = 0

(21)

hi (x ) = 0 per ogni i E gj (x ) 0 per ogni j I 0 per ogni j I j gj (x ) = 0 per ogni j I j Le condizioni (21) prendono il nome di condizioni di Karush-Kuhn-Tucker. Dal momento che le condizioni di complementariet` implicano lannullarsi dei moltiplicatori rela ativi a vincoli non attivi, in eetti la prima delle (21) pu` anche esprimersi come o
x L(x

, ) =

f (x )
iE

hi (x ) i
jIa (x )I

gj (x ) = 0 j

(22)

Se supponiamo che vi siano solo vincoli di disuguaglianza, la (22) consente di dare una caratterizzazione geometrica della condizione di ottimalit`. Infatti, dal momento a che i moltiplicatori relativi ai vincoli attivi devono essere non negativi, la condizione k richiede che, allottimo, il gradiente della f sia contenuto nel cono individuato dai gradienti di tali vincoli.

11

Vogliamo ancora sottolineare come le condizioni di KKT siano necessarie solo per punti che soddisfano la condizione di qualicazione dei vincoli attivi. Si consideri questaltro esempio. min z = x1 + x2 g1 (x1 , x2 ) = (x2 x1 )2 4 0 g2 (x1 , x2 ) = 2 x2 x2 0 1 2 ` E facile vericare che la regione ammissibile X ` costituita soltanto dai due punti A = e (1, 1) e B = (1, 1). In ambedue tali punti la funzione obiettivo vale 0, e dunque sono ambedue ottimi. Scriviamo ora le condizioni di KKT. La funzione lagrangiana ` e L(x, ) = x1 + x2 1 ((x2 x1 )2 4) 2 (2 x2 x2 ) 1 2 e dunque annullando il gradiente della L: L = 1 + 21 (x2 x1 ) + 22 x1 = 0 x1 e L = 1 21 (x2 x1 ) + 22 x2 = 0 x2 Sostituendo le coordinate di A, si ottiene 1 41 + 22 = 0 1 + 41 22 = 0 che ` chiaramente incompatibile. Dunque, in A le condizioni di KKT non sono soddisfatte, e eppure A ` un punto di minimo. Il Teorema 2 ci dice che questo pu` accadere solo se nei e o punti considerati non ` soddisfatta la qualicazione dei vincoli attivi. In eetti, calcolando e lo jacobiano: g = x g1 (x)T g2 (x)T = 2(x2 x1 ) 2(x2 x1 ) 2x1 2x2 (23)

osserviamo che in A esso diventa g1 (x)T g2 (x)T = 4 4 2 2

e dunque non ha rango pieno. Del resto, questo poteva anche osservarsi gracamente dal fatto che i gradienti dei vincoli in A sono paralleli (Figura 3). Una discussione del tutto simile pu` farsi per laltro punto di minimo, B. Dunque, dato un punto x che NON o 12

B (-1,1)

g2

A (1,-1)

f g1

Figura 3: Linsieme X nel problema (23). soddisfa le condizioni di KKT, prima di escludere che esso sia un punto di minimo, occorre vericare che in x le condizioni di qualicazione dei vincoli attivi siano soddisfatte. Se lo sono, x non pu` essere di minimo. Altrimenti, potrebbe ancora esserlo. o Un caso particolare di complementariet` ` importante e merita una denizione ad hoc. ae Definizione 5 Dato un problema di programmazione non lineare (2), un punto di minimo locale x , e un vettore che soddisfa che le condizioni di KKT, vale la condizione di complementariet` stretta se, per ciascuna disequazione attiva in x , si ha > 0. a j Limportanza di questa denizione sta nel fatto che, mentre le condizioni di KKT possono essere soddisfatte da molti vettori in corrispondenza dello stesso punto x , se vale la stretta complementariet`, allora ` unico. a e

2.5

Condizioni necessarie del secondo ordine (solo equazioni)

Per completezza, bench senza dimostrazioni, vediamo anche il corrispettivo, nei problemi e di ottimizzazione vincolata, delle condizioni necessarie di ottimalit` del secondordine, a limitandoci al caso di soli vincoli di uguaglianza. Come gi` per le condizioni del primo a ordine, anche qui il ruolo che nellottimizzazione non vincolata ha la funzione f , qui ` e

13

giocato dal lagrangiano. Le condizioni del secondo ordine riguardano lhessiana (rispetto alle sole variabili x) della funzione lagrangiana, ossia
2 xx L(x, ).

Le condizioni, enunciate anche in questo caso solo rispetto a punti in cui ` soddisfatta e la condizione di qualicazione dei vincoli attivi, riguardano il fatto che lhessiana sia semidenita positiva. Tuttavia, questa condizione ` meno restrittiva di quanto visto e nellottimizzazione non vincolata. Teorema 3 Sia x sia un minimo locale di (2), e in x valga la condizione di qualicazione dei vincoli attivi. Allora, per ogni vettore tale da soddisfare, con x , le condizioni di Karush-Kuhn-Tucker, si ha che sT
2 xx L(x , )s

(24)

per ogni s tale che J(x )s = 0 ove con J(x ) si ` indicata la matrice jacobiana dei vincoli attivi in x , calcolata in x . e In altre parole, le condizioni del secondo ordine richiedono che lhessiana del lagrangiano sia semidenita positiva sullo spazio nullo della matrice jacobiana dei vincoli attivi in x .

Sensibilit` alle variazioni dei parametri a

Da quanto visto, limportanza dei moltiplicatori di Lagrange dovrebbe apparire abbastanza chiara. Vediamo ora di indagare meglio il loro signicato concettuale. In realt`, a il moltiplicatore i ci d` uninformazione legata al modo in cui il vincolo i inuenza la a funzione obiettivo. Consideriamo un minimo locale x . Se un certo vincolo gj non ` attivo in x , ossia e gj (x ) > 0, sia il punto x che il valore f (x ) sono indierenti alla presenza o meno di quel vincolo, nel senso che anche perturbando il vincolo di una piccola quantit` (purch, a e ovviamente, sucientemente piccola), il vincolo sar` ancora non attivo, e x continuer` a a ad essere minimo locale. Sappiamo che in questo caso = 0, a indicare appunto il fatto j che la funzione obiettivo non ` inuenzata da variazioni nel vincolo. e Supponiamo invece che gj (x ) = 0, e perturbiamo il termine destro del vincolo di una piccola quantit` > 0, ossia il vincolo, da gj (x) 0, diviene a gj (x) gj (x )

ovvero, stiamo rendendo il vincolo leggermente meno restrittivo. Indichiamo il nuovo punto di minimo con x ( ). Supponiamo che 14 sia abbastanza piccolo da far si che

linsieme dei vincoli attivi non cambi1 . Si noti che gj (x ( )) gj (x ) = Allora, come sempre grazie alla formula di Taylor, possiamo scrivere gj (x ) = gj (x ( )) gj (x ) (x ( ) x )T gj (x )

gj (x ) .

(25)

mentre per tutti gli altri vincoli attivi k diversi da j e per le equazioni si ha 0 = gk (x ( )) gk (x ) (x ( ) x )T gk (x ) 0 = hi (x ( )) hi (x ) (x ( ) x )T hi (x ) Daltro canto abbiamo f (x ( )) f (x ) (x ( ) x )T f (x ) che, per la (22), diviene =
iE

(26) (27)

(x ( ) x )T hi (x ) + i
kIa (x )I

(x ( ) x )T gk (x ) k

e sfruttando le (26) e (27), rimane solo il termine relativo al vincolo j, ossia = (x ( ) x )T gj (x ) j e dunque, dalla (25), in denitiva si ha f (x ( )) f (x ) di qui, dividendo per df = d gj (x ) j 0, si ha inne (28)

e passando al limite per

gj (x ) j

La (28) consente di eettuare unanalisi locale (nellintorno di x ) della sensibilit` della a f a variazioni nel vincolo. Se gj (x ) ` grande, la sensibilit` della f a variazioni nel a j e gj (x ) ` piccola o j e termine noto del vincolo ` elevata, mentre il contrario accade se e

nulla (almeno, a meno di innitesimi di ordine superiore al primo). Si noti che lanalisi di cui sopra ` indipendente da fattori di scala. Ossia, se noi moltiplicassimo gj (x) per un e fattore 10, il problema rimane ovviamente lo stesso, ma si pu` vedere facilmente il o e moltiplicatore di Lagrange ottimo diviene /10. Tuttavia, poich al posto di j gj (x ) avremo 10 gj (x ) , il prodotto gj (x ) non cambia. Daltro canto, invece, se la j funzione obiettivo viene moltiplicata per 10, tutti i moltiplicatori di Lagrange vengono moltiplicati per 10. Dunque anche la sensibilit` diviene 10 volte superiore, come del resto a ` logico attendersi. e
Siamo cio` in una situazione non degenere, che non ` quella pi` generale che si possa presentare, ma e e u per semplicit` ` lunica che considereremo. ae
1

15

Cenni sugli algoritmi di ottimizzazione vincolata

Analogamente a quanto visto nel caso dellottimizzazione non vincolata, le condizioni di ottimalit` non sempre bastano, da sole, a calcolare in modo rapido un punto stazionario a o, meglio ancora, un punto di minimo. Gli algoritmi di ottimizzazione vincolata sono in genere pi` complessi, almeno da un punto di vista pratico, di quelli visti per il caso u non vincolato. Ci limiteremo qui a descrivere le idee di fondo di due approcci, basati sul concetto di ricondurre la soluzione di un problema vincolato a quella di un problema non vincolato. Il primo ` pi` indicato per il caso di vincoli espressi da equazioni, il secondo e u per il caso di disequazioni. Tuttavia, con modiche non particolarmente complicate, ` e possibile estendere ambedue gli apoprocci al caso generale. Gli approcci sono di tipo sequenziale, ossia sono basati sulla soluzione di una successione di problemi non vincolati, in modo tale che le soluzioni ottime convergano a quella del problema vincolato. Sono comunque diusi approcci pi` sosticati, quali quelli basati u sulla programmazione quadratica o sui lagrangiani aumentati, ma che non vedremo qui per brevit`. a

4.1

Funzioni di penalit` quadratiche a

In questo capitolo consideriamo un problema con soli vincoli di uguaglianza, ossia min f (x) h(x) = 0 Lidea alla base dei metodi basati sulle funzioni di penalit` ` concettualmente semplice, ae e consiste nel denire un opportuno problema non vincolato: min F (x) x Rn Nella funzione obiettivo F (x) ` presente un termine che sparisce se i vincoli di (29) sono e soddisfatti mentre altrimenti porta un contributo positivo alla funzione. Dato allora y Rm , sia p(y) una funzione (detta funzione di penalit` ) tale che p(y) = 0 se y = 0 e a p(y) > 0 per y = 0. Lapproccio alla soluzione di (29) diviene allora quello di risolvere (30), ponendo F (x) = f (x) + p(h(x)), ove > 0 ` un opportuno coeciente. Come si e pu` intuire, se ` molto grande, la soluzione di (30) risulter` molto vicina a quella di o e a (29). Il modo di procedere consiste allora nel risolvere una successione di problemi del tipo (30), per valori crescenti di , ottenendo cosi una successione di punti che convergono (30) (29)

16

Metodo di Penalita
{

Si fissa un punto iniziale xs qualsiasi; k := 0; while (xs non soddisfa le condizioni di KKT)
{ k := k + 1;

partendo da xs , calcola xk = arg min{f (x) + k


x = xk } }
s

hi (x)2 };

Figura 4: Il metodo delle funzioni di penalit` quadratiche. a alla soluzione ottima del problema vincolato. Il metodo ` riassunto in Figura 4, ove la e successione {k } si suppone monotonicamente crescente e tale che limk k = +. Per quanto concerne la funzione di penalit`, sono possibili molte scelte diverse. Si a noti che per poter risolvere il problema (30) coi metodi visti per il caso non vincolato, ` necessario anche garantire che la funzione complessiva F (x) risulti sucientemente e regolare, in particolare dierenziabile nei punti in cui y = 0 (ossia ammissibili per il problema vincolato). Una scelta abbastanza comune ` p(y) = y T y, che d` e a F (x) = f (x) +
i

hi (x)2

(31)

In questo caso, le condizioni necessarie del primo e del secondo ordine anch un punto e x sia un punto di minimo del problema non vincolato (29) diventano rispettivamente F (x ) =
2

f (x ) + 2
i 2

hi (x ) hi (x ) = 0 (hi (x )
i 2

(32) hi (x ) hi (x )T ) smd. pos. (33)

F (x ) =

f (x ) + 2

hi (x ) +

Chiamando x() la soluzione ottima del problema (30), si pu` dimostrare, sotto ipotesi o abbastanza generali, che facendo crescere a innito, la successione {x()} tende a un minimo locale x del problema (29), e inoltre, per ogni i = 1, . . . , m si ha

lim 2hi (x()) = i

(34)

dove ` il valore ottimo del moltiplicatore di Lagrange associato alli-esimo vincolo. i e Dalla condizione di ottimalit` del 2 ordine (33) possiamo allora osservare che lHessiana a della funzione obiettivo del problema non vincolato ` costituita da due parti, vale a dire e
2

f (x ) + 2
i

hi (x )

hi (x ) 17

(35)

e 2 h(x ) h(x )T (36)

Per via della (34), la prima parte (35) tende allHessiana della funzione lagrangiana nel punto ottimo, mentre, come si pu` osservare, al crescere di , la seconda parte (36) diviene o invece illimitata in norma. La conseguenza di questo fatto ` che, sebbene da un punto di e vista teorico il metodo converga, da un punto di vista pratico lHessiana della funzione obiettivo diviene sempre pi` malcondizionata al crescere di , ossia in denitiva man u mano che ci si avvicina al punto ottimo x . Questa dicolt` pu` essere ovviata usando a o funzioni di penalit` diverse dalla (31), che non richiedano di far tendere a innito, ma in a genere questo porta a perdere la dierenziabilit` della F (x), introducendo quindi nuove a dicolt`. a

4.2

Metodi di barriera

Vediamo ora un altro approccio sequenziale, applicato a problemi con soli vincoli di disuguaglianza. min f (x) g(x) 0 Indicheremo con X linterno della regione ammissibile, ossia: IN T (X) = {x Rn |g(x) > 0} Anche in questo caso si tratta di denire un problema ausiliario non vincolato, e di produrre poi una successione di punti, convergenti a un minimo locale del problema vincolato. Questi metodi sono applicabili sotto lipotesi che IN T (X) sia non vuota. Una funzione barriera per linsieme ammissibile del problema (37) ` una funzione v(x), e continua in IN T (X), e tale che v(x) man mano che x si avvicina alla frontiera di X. Possiamo allora associare al problema (37) un problema non vincolato in cui si tratta di minimizzare la funzione F (x; ) = f (x) + v(x) (38) (37)

il signicato della (38) ` evidentemente quello di creare una barriera che impedisca a un e punto che si trovi in IN T (X) di uscire dalla regione ammissibile. Si noti che questo eetto-barriera ` tanto maggiore quanto pi` grande ` . A dierenza del metodo delle e u e funzioni di penalit`, qui si lavora con punti che si trovano in IN T (X), per cui questo a metodo rientra nella categoria dei cosiddetti metodi ai punti interni. 18

Metodo di Barriera
{

Si fissa un punto iniziale xs IN T (X); k := 0; while (xs non soddisfa le condizioni di KKT)
{ k := k + 1;

partendo da xs , calcola xk = arg min{f (x) +


xs = xk } }

k v(x)};

Figura 5: Il metodo di barriera. Data uan successione di numeri positivi { k }, k = 0, 1, . . ., strettamente decrescente, il metodo di barriera ` quello riportato nella gura 5. Come gi` per il metodo delle funzioni e a di penalit`, ` possibile dimostrare che sotto ipotesi abbastanza blande la successione delle a e soluzioni ottime dei problemi non vincolati converge a un minimo locale del problema vincolato. La funzione di barriera v(x) pi` importante e utilizzata ` quella logaritmica, denita u e come: v(x) =
iI

log(gi (x))

(39)

Come per i metodi di penalit`, anche qui il problema principale nellapplicazione a del metodo sta nel malcondizionamento della Hessiana al crescere di k. Un modo per contrastare questo fenomeno ` allora quello di utilizzare come punto iniziale della nuova e iterazione, anzich lottimo del passo precedente, un punto ottenuto estrapolando dagli e ultimi ottimi trovati. Unulteriore dicolt` ` che, a dierenza del precedente metodo, i metodi di barria e era richiedono che x0 IN T (X), che in generale pu` non essere del tutto agevole da o determinare.

19

Potrebbero piacerti anche