Programmazione Non Lineare Ottimizzazione vincolata

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione Non Lineare Ottimizzazione vincolata"

Transcript

1 DINFO-Università di Palermo Programmazione Non Lineare Ottimizzazione vincolata D. Bauso, R. Pesenti Dipartimento di Ingegneria Informatica Università di Palermo

2 DINFO-Università di Palermo 1 Sommario Introduzione alla Programmazione Non Lineare (NLP) Esistenza e caratterizzazione dei minimi Ottimizzazione ad una dimensione Ottimizzazione non vincolata Metodi del Gradiente: Massima discesa, Newton, Quasi-Newton, Gradiente coniugato Convergenza Ottimizzazione vincolata Caratterizzazione dei Minimi (caso vincolato) Metodi del Gradiente Metodi Barriera o a punto interno

3 DINFO-Università di Palermo 2 Riferimenti F. S. Hillier, G. J. Lieberman, Introduction to Operations Research McGraw-Hill, New York, NY, 2004 D. P. Bertsekas, Nonlinear Programming Athena, Cambridge, Ma, 1999 S. Boyd, L. Vandenberghe Convex Optimization Cambridge University Press, Cambridge, UK Appunti prof. A. Agnetis e F. Schoen

4 DINFO-Università di Palermo 3 Ottimizzazione vincolata Introduzione Due tipi di problemi ottimizzazione vincolata min z = f(x) x X X è aperto, il problema si riduce ad un problema di ottimizzazione non vincolata. X è chiuso, il problema è molto più complesso perché la soluzione può giacere su un vincolo ed essere dovuta all azione congiunta delle funzioni obiettivo e dei vincoli. Nel seguito è considerato solo il caso X chiuso.

5 DINFO-Università di Palermo 4 Ottimizzazione vincolata Introduzione Gli algoritmi di soluzione di problemi di ottimizzazione vincolata devono affrontare due esigenze spesso contrastanti: trovare soluzioni ammissibili; minimizzare la funzione obiettivo. Spesso è difficile valutare la differenza tra gli algoritmi in quanto si basano su ipotesi molto distanti tra loro. Esistono due approcci fondamentali: trasformare i problemi in problemi vincolati più semplici; trasformare i problemi in una sequenza o in un singolo problema non vincolato.

6 DINFO-Università di Palermo 5 Ottimizzazione vincolata Forma canonica min x z = f(x) (1a) g i (x) 0 i = 1,..., m (1b) h j (x) = 0 j = 1,..., p (1c) Se le funzioni f, g 1,..., g m e h 1,..., h p sono convesse il problema si dice convesso. X = {x R n : g i (x) 0, i = 1,..., m, l insieme delle soluzioni ammissibili. h j (x) = 0, j = 1,..., p} è Si suppone che f C 2 (X), g 1,..., g m C 1 (X) e h 1,..., h p C 1 (X)

7 DINFO-Università di Palermo 6 Ottimizzazione vincolata Forma standard min x z = f(x) (2a) h j (x) = 0 j = 1,..., p (2b) x i 0 i = 1,..., m (2c) Non tutte le variabili sono necessariamente non negative. Dato un problema in forma canonica ne esiste uno equivalente in forma standard e viceversa. In questi lucidi le due forme sono usate indistintamente a seconda della comodità.

8 DINFO-Università di Palermo 7 Casi Particolari Programmazione Quadratica (QP) Funzione obiettivo quadratica e vincoli lineari di uguaglianza o disuguaglianza. dove min z = 1 2 xt Qx + c T x Ax b Q è una matrice R n n simmetrica. A è una matrice R m n, e b R m e c R n sono vettori assegnati. Se Q è semidefinita positiva allora il problema è convesso.

9 DINFO-Università di Palermo 8 Casi Particolari Quadratically Constrained Quadratic Programming (QCQP) Funzione obiettivo quadratica e vincoli quadratici nelle variabili. min z = 1 2 xt Q 0 x + q T 0 x 1 2 xt Q i x + q T i x + r i 0, i = 1,..., m Il QCQP è convesso se Q i 0, i = 0,..., m. I vincoli per cui Q i è una matrice nulla sono lineari

10 DINFO-Università di Palermo 9 Casi Particolari Second-Order Cone Programming (SOCP) Un problema fortemente connesso alla QCQP è il SOCP: dove A i R n i n. min z = c T x A i x + b i e T i x + d i, i = 1,..., m Un vincolo del tipo Ax + b 2 e T x + d è detto second order cone constraint in quanto impone che la funzione affine (Ax + b, e T x + d) con A R k n giaccia { all interno del cono del secondo ordine in R k+1 definito come (x, t) : }. Ax+b e T x+d t La SOCP include come casi particolari la QP se e T i = 0, i = 1,..., m, e la LP, se A i = 0, i = 1,..., m.

11 DINFO-Università di Palermo 10 Casi Particolari Programmazione lineare robusta Riguarda problemi di PL con incertezza sui parametri: min z = c T x a T i x b i, a i E i, i = 1,..., m dove E i = {ā i + F i u : u 1}. La programmazione lineare robusta è convertibile in SOCP. Infatti, ā T i x + u T Fi T x b i, u 1 ā T i x + F i x b i.

12 DINFO-Università di Palermo 11 Caratterizzazione dei Minimi Definizione. Un punto x X è un punto di minimo locale se esiste un intorno circolare I(x, ε) di x, avente raggio ε > 0 tale che f(x) f(x ) 0, per ogni x X I(x, ε). Condizione necessaria. Se f C 1 (X), x X è un punto di minimo locale se esiste un intorno circolare I(x, ε) di x, avente raggio ε > 0 tale che X I(x, ε) è convesso, allora deve valere f(x ) T (x x ) 0, per ogni x X I(x, ε). Poiché, f(x ) T (x x ) = f(x ) (x x ) cos θ, la condizione precedente impone che, se f(x ) > 0, non ci siano direzioni ammissibili nell intorno di x che formino un angolo ottuso con f(x ).

13 DINFO-Università di Palermo 12 Caratterizzazione dei Minimi Condizione necessaria. Se f C 1 (X) e X è convesso, x X è un punto di minimo locale se f(x ) T (x x ) 0, per ogni x X. Se X è convesso, per qualunque x X la direzione di (x x ) è certamente tra le direzioni ammissibili di un intorno di x in quanto tutti i punti del segmento [x, x ] appartengono a X. Questa condizione può non valere se X non convesso. Condizione necessaria e sufficiente. La condizione precedente è anche sufficiente se f è convessa. Infatti in questo caso f(x ) = 0 non può essere dovuto ad un flesso.

14 DINFO-Università di Palermo insieme soluzioni ammissibili convesso gradienti nei minimi formano un angolo non ottuso con qualunque direzione che congiunge i minimi ad un punto ammissibile punti di minimo locale

15 DINFO-Università di Palermo insieme soluzioni ammissibili non convesso 1 gradiente nel minimo può formare un angolo ottuso con qualche direzione che congiunge il minimo ad un punto ammissibile punto di minimo locale

16 DINFO-Università di Palermo 15 Caratterizzazione dei Minimi Esistono delle condizioni necessarie generali (anche per X non convessi) di primo ordine che caratterizzano i minimi locali, note come condizioni di Karush-Kuhn-Tucker.

17 DINFO-Università di Palermo 16 Funzione Lagrangiana Si definisce Lagrangiana la funzione L : R n R m R p R associata al problema (1) definita come L(x, λ, ν) = f(x)+ Dove m λ i g i (x)+ i=1 p ν j h j (x) = f(x)+λ T g(x)+ν T h(x). j=1 λ i 0 è il moltiplicatore di Lagrange associato all imo vincolo di disuguaglianza (1b); ν j 0 il moltiplicatore di Lagrange associato all jmo vincolo di uguaglianza (1b). I vettori λ e ν sono detti variabili duali.

18 DINFO-Università di Palermo 17 Punti di regolarità Sia dato x X e il corrispondente insieme di vincoli attivi a I(x). I vincoli attivi in I(x) sono detti soddisfare la condizione di qualificazione in x se il loro jacobiano in tale punto ha rango massimo, i.e., se i loro gradienti sono linearmente indipendenti in tale punto. Un punto x per il quale vale la qualificazione dei vincoli attivi è detto punto di regolarità. a un vincolo è attivo rispetto a x se in tale punto è soddisfatto all uguaglianza.

19 DINFO-Università di Palermo 18 Condizioni di Karush-Kuhn-Tucker (KKT) Una tripla (x, λ, ν ) viene detta di KKT se g i (x ) 0 i = 1,..., m h j (x ) = 0 j = 1,..., p λ i 0 i = 1,..., m λ i g i (x ) = 0 i = 1,..., m x L(x, λ ν ) = m f(x ) + λ i g i (x ) + i=1 p νj h j (x ) = 0 j=1 Un punto x è detto di KKT se appartiene ad una tripla di KKT. La tripla di KKT soddisfa la stretta complementarità se g i (x ) = 0 implica λ > 0

20 DINFO-Università di Palermo 19 Condizioni di KKT di primo ordine Teorema 1 Condizioni necessarie. Un punto di minimo x e di regolarità è di KKT. Commenti I minimi possono trovarsi nei punti di KKT e/o nei punti di non regolarità. In generale possono esserci più valori di (λ, ν ) che completano la terna di KKT con x. Tali valori sono unici se la tripla di KKT soddisfa la stretta complementarità.

21 DINFO-Università di Palermo 20 Condizioni di KKT di primo ordine Dimostrazione 1/3 (solo vincoli di uguaglianza) Si consideri il problema min x f(x), h(x) = 0. Si osservi che h(x) : R n R m è un vettore con m < n. Sia x minimo locale che soddisfa le condizioni di qualificazione.

22 DINFO-Università di Palermo 21 Condizioni di KKT di primo ordine Dimostrazione 2/3 (solo vincoli di uguaglianza) Il Teorema della Funzione Implicita garantisce che nell intorno di x esiste una funzione g(w) : R n m R m tale che posto x = (w, v) allora h(x) = 0 implica inoltre v = g(w) w g(w) = ( v h(x)) 1 w h(x) dove v h(x) è la trasposta dello jacobiano di h(x) calcolato solo rispetto alle variabili v. v h(x) è una matrice quadrata, invertibile in x per la condizione di qualificazione.

23 DINFO-Università di Palermo 22 Condizioni di KKT di primo ordine Dimostrazione 3/3 (solo vincoli di uguaglianza) Ne consegue che la funzione f(w, g(w)) è non vincolata e ha un minimo in w, dove w è componente di x. Quindi deve valere w f(w, g(w )) = 0, cioè w f(w, g(w )) = w f(x ) v f(x )( v h(x )) 1 w h(x ) = 0 La condizione precedente equivale a w f(x ) = ν T w h(x ) v f(x ) = ν T v h(x ) f(x ) + ν T h(x ) = 0 dove ν T = v f(x )( v h(x )) 1.

24 DINFO-Università di Palermo 23 Condizioni di KKT di primo ordine Esempio - Un vincolo di uguaglianza min f(x) = 2 x x 1 x 2 x x 1 x x = 0 Da cui L(x, ν) = 2 x x 1 x 2 x x 1 + ν(x x 2 2 1) f(x) = h(x) = 2x 1 + x x 2 + x 1 2x 1 2x 2

25 DINFO-Università di Palermo 24 Condizioni di KKT di primo ordine Esempio - Un vincolo di uguaglianza Le condizioni di KKT risultano quindi essere. 2x 1 + x νx 1 = 0 2x 2 + x 1 + 2νx 2 = 0 Si ottengono le seguenti coppie di KKT x x = 0 ((x 1, x 2), ν ) = ((0, 1), 1) 3 ((x 1, x 2), ν ) = (( 2, )), 1 2 ) 3 ((x 1, x 2), ν ) = (( 2, ), )

26 DINFO-Università di Palermo punto di massimo punto di minimo punto di flesso

27 DINFO-Università di Palermo 26 Condizioni di KKT di primo ordine Esempio - Un vincolo di uguaglianza - Commenti Nel caso di un solo vincolo le condizioni KKT impongono che f(x) e h(x) siano paralleli. Il problema dell esempio poteva essere banalmente risolto come problema non vincolato in θ ponendo x 1 = cos θ e x 2 = sin θ. Si otteneva la funzione sinusoidale che compare nel lucido precedente.

28 DINFO-Università di Palermo 27 Condizioni di KKT di primo ordine Esempio - Un vincolo di disuguaglianza min f(x) = 2 x x 1 x 2 x x 1 x x Da cui L(x, λ) = 2 x x 1 x 2 x x 1 + λ(x x 2 2 1) Le condizioni di KKT risultano quindi essere. 2x 1 + x λx 1 = 0 2x 2 + x 1 + 2λx 2 = 0 x x λ(x x 2 2 1) = 0 λ 0

29 DINFO-Università di Palermo 28 Condizioni di KKT di primo ordine Esempio - Un vincolo di disuguaglianza Si ottengono le seguenti coppie di KKT ((x 1, x 2), λ ) = ((0, 1), 1) 3 ((x 1, x 2), λ ) = (( 2, ), 1 2 ) 3 ((x 1, x 2), λ ) = (( 2, ), ) ((x 1, x 2), λ ) = (( 2 3, 1 ), 0) 3 Siccome f(x) è concava e g(x) 0 convesso, si può affermare che la funzione ammette un solo massimo in X. Poiché f( 2 3, 1 3 ) = 0, e quindi f( 2 3, 1 3 )T ( x ( 2 3, 1 3 )) 0 per ogni x X, allora ( 2 3, 1 3 ) è certamente un massimo.

30 DINFO-Università di Palermo punto di massimo 1 punto di minimo altri punti stazionari

31 DINFO-Università di Palermo 30 Condizioni di KKT di primo ordine Esempio - Più vincoli di disuguaglianza min f(x) = 2 x x 1 x 2 x x 1 x 1 x 2 0 x 1 1 x 2 1 Da cui L(x, λ) = 2 x 2 1+x 1 x 2 x 2 2+x 1 +λ 1 ( x 1 x 2 )+λ 2 (x 1 1)+λ 3 (x 2 1)

32 DINFO-Università di Palermo 31 Condizioni di KKT di primo ordine Esempio - Più vincoli di disuguaglianza Le condizioni di KKT risultano essere. 2x 1 + x λ 1 + λ 2 = 0 2x 2 + x 1 λ 1 + λ 3 = 0 x 1 x 2 0 x x λ 1 ( x 1 x 2 ) = 0 λ 2 (x 1 1) = 0 λ 3 (x 2 1) = 0 λ 1, λ 2, λ 3 0

33 DINFO-Università di Palermo 32 Condizioni di KKT di primo ordine Esempio - Più vincoli di disuguaglianza Si ottengono le seguenti coppie di KKT ((x 1, x 2), (λ 1, λ 2, λ 3)) = (( 2 3, 1 ), (0, 0, 0)) 3 ((x 1, x 2), (λ 1, λ 2, λ 3)) = (( 1 6, 1 6 ), (1, 0, 0)) 2 ((x 1, x 2), (λ 1, λ 2, λ 3)) = ((1, 1 2 ), (0, 1 2, 0)) ((x 1, x 2), (λ 1, λ 2, λ 3)) = ((1, 1), (0, 0, 1)) ((x 1, x 2), (λ 1, λ 2, λ 3)) = (( 1, 1), (4, 0, 7)) ((x 1, x 2), (λ 1, λ 2, λ 3)) = ((1, 1), (3, 5, 0))

34 DINFO-Università di Palermo punto di minimo punto di massimo altri punti stazionari Esempio - Più vincoli di disuguaglianza

35 DINFO-Università di Palermo 34 Condizioni di KKT di primo ordine Esempio - Più vincoli di disuguaglianza - Commenti Nel caso di più vincoli di disuguaglianza le condizioni KKT impongono che l antigradiente f(x) cada all interno della combinazione conica dei g i (x). (In parole povere, nel cono con direttrici i g i (x).) Le condizioni di KKT di primo ordine sono solo necessarie. Vi sono condizioni del secondo ordine sufficienti (vedi lucido successivo), ma nel caso di questo esempio non peremtterebbero di individuare i minimi poiché 2 xxl(x, λ ) =

36 DINFO-Università di Palermo 35 Condizioni di KKT di secondo ordine Teorema 2 Condizioni sufficienti. Il punto x è un minimo se è di KKT e soddisfa le seguenti condizioni con s T 2 xxl(x, λ, ν )s > 0 per s 0 e s Y (x ) Y (x ) = s : g i (x ) T s 0, i I \ Ĩ, g i (x ) T s = 0, i Ĩ, h j (x ) T s = 0, j dove I è l insieme degli indici dei vincoli g i (x) 0 attivi in x Ĩ è l insieme degli indici dei vincoli g i (x) 0 attivi in x con λ > 0.

37 DINFO-Università di Palermo 36 Condizioni di KKT di secondo ordine Esempio Dato min f(x) = 2 x x 1 x 2 x x 1 x x Si ottiene la funzione lagrangiana L(x, λ) = 2 x x 1 x 2 x x 1 + λ(x x 2 2 1) Si osserva che per la coppia di KKT (( 3 2, 1 2 ), ) vale 2 xxl(x, λ ) 0 da cui ( 3 2, 1 2 ) è punto di minimo.

38 DINFO-Università di Palermo 37 Condizioni di KKT di secondo ordine Esempio Per quanto riguarda le rimanenti coppie di KKT (( 2 3, 1 3 ), 0) 2 xxl(x, λ ) = 2 f(x ) 0 punto di massimo ((0, 1), 1) condizione non soddisfatta 3 (( 2, ), 1 ) condizione non soddisfatta 2 Nel caso ( 3 2, 1 2 ), ) si ottiene 2 xxl(x, λ ) 0, ma non si può concludere che si ha un punto di massimo in quanto L(x, λ) non è la lagrangiana associata al problema di massimo, poiché non può essere cambiato il segno di λ 0. Diverso è il caso di (( 2 3, 1 3 ), 0) in cui L(x, λ ) = 2 f(x ).

39 DINFO-Università di Palermo 38 Algoritmi di soluzione Con rare eccezioni gli algoritmi determinano solo punti che soddisfano solo le condizioni di primo ordine. Da cui l insieme dei punti che soddisfa le condizioni di stop è Ω = {x : x punto di KKT}. Sequential Quadratic Programming Gradient Methods Augmented Lagrangian Methods Barrier Methods

40 DINFO-Università di Palermo 39 Sequential Quadratic Programming (SQP) L idea base dei metodi SQP è risolvere un problema NLP approssimando quadraticamente la funzione obiettivo e linearmente i vincoli. Si dimostra che per il problema non lineare originale una tripla (x, λ, ν ) è di KKT se e solo se (0, η, ρ ) è una tripla di KKT per il problema che ha i vincoli linearizzati e funzione obiettivo quadratica min f(x) = 1 2 dt 2 xxl(x, η, ρ )d + f(x ) T d + f(x ) g i (x ) T d + g i (x ) 0 i = 1,... m h j (x ) T d + h j (x ) 0 j = 1,... p dove d = x x.

41 DINFO-Università di Palermo 40 Sequential Quadratic Programming Ad ogni iterazione k l SQP Determina la direzione e il passo d k minimizzando rispetto a d k la funzione f k (x) = 1 2 dkt 2 xxl(x k, λ k, ν k )d k + f(x k ) T d k + f(x k ), con vincoli linearizzati. Pone x k+1 = x k + d k, e λ k+1 = η k, ν k+1 = ρ k dove η k, ρ k sono i moltiplicatori ottimi del problema approssimato kmo.

42 DINFO-Università di Palermo 41 Sequential Quadratic Programming (SQP) Esempio Dato min{f(x) = 2 x x 1 x 2 x x 1, x x = 0} con x 0 = (0, 1) e ν 0 = 2 Si ottiene il problema approssimato al passo 0 min{ f 0 (x) = x 2 1+(x 2 1)x 1 +(x 2 1) 2 +2x 1 2(x 2 1)+1, 2x 2 2 = 0} con minimo in x 1 = ( 1, 1), ν 1 = ρ 0 = 3 2,

43 DINFO-Università di Palermo 42 Sequential Quadratic Programming Proprietà Ogni passo dell SQP equivale a un passo del metodo di Newton per la funzione Lagrangiana vincolata con vincoli lineari. Si dimostra che, nel caso non si determini un punto di KKT del problema di NLP originale, il metodo fornisce sempre una direzione d k diversa da zero ad ogni iterazione. Si dimostra che il metodo SQP converge in modo quadratico all interno di un intorno aperto di un punto di KKT se le funzioni f(x), g(x), h(x) sono Lipschitz continue, i vincoli sono qualificati nel punto di KKT, le condizioni di KKT del secondo ordine e la stretta complementarità sono soddisfatte. L SQP può non convergere al di fuori dell intorno al punto precedente.

44 DINFO-Università di Palermo 43 Sequential Quadratic Programming Versioni quasi-newton Le versioni quasi-newton tentano di approssimare la matrice 2 xxl(x k, λ k, ν k ). Purtroppo le ipotesi che garantiscono una convergenza superlineare sono difficili da rispettare. Le formule della famiglia di Broyden non sono applicabili poiché non è più vero che definiscono una sequenza di matrici definite positive. Viene di solito utilizzata una formula proposta da Powell, derivata dai metodi BFGS ma corretta opportunamente per avere una sequenza di matrici definite positive.

45 DINFO-Università di Palermo 44 Sequential Quadratic Programming Commenti Le approssimazioni SQP potrebbero non ammettere soluzione: perché illimitati inferiormente, perché i vincoli linearizzati definiscono un insieme di ammissibiltà nullo. Per evitare il primo problema nei metodi quasi Newton si usano sempre B k definite positive. Per evitare il secondo problema si risolvono problemi in cui viene allargato l insieme di ammissibilità. Ad esempio i vincoli g i 0 diventano g i y i, dove y i 0 viene penalizzata nella funzione obiettivo.

46 DINFO-Università di Palermo 45 Sequential Quadratic Programming Rilassamento insieme di ammissibilità Si cerca di assicurare la convergenza nelle ricerche unidimensionali. Si impone infatti il decremento di una funzione di penalità che tenga conto del miglioramento della funzione obiettivo e di un possibile miglioramento o mantenimento dell ammissibilità di x k+1 rispetto a x k. Una funzione di penalità molto diffusa è: P (x, ε) = f(x) + 1 ε ( m i=1 max(0, g(x)) + p j=1 h(x) ). Purtroppo per questa funzione la convergenza superlineare può non valere. Si usano quindi anche altre funzioni di penalità, e.g., la funzione lagrangiana aumentata esatta, che non presentano queste controindicazioni.

47 DINFO-Università di Palermo 46 Metodo del Gradiente Condizionato Il metodo del gradiente condizionato calcola x k+1 = x k + α k ( x x k ) dove x = arg min x X f(x k ) T (x x k ). Ad ogni passo k viene calcolato il minimo x in X dell approssimazione lineare della funzione f(x) in x k. Se X è compatto l esistenza di x è garantita dal teorema di Wierstrass. Data l approsimazione lineare x giace sulla frontiera. Il calcolo dello stepsize impiega le stesse regole introdotte nella ottimizzazione non vincolata (e.g., Armijo). La velocità di convergenza è analoga a quella del metodo del gradiente nel caso di ottimizzazione non vincolata.

48 DINFO-Università di Palermo 47 Metodo del Gradiente Condizionato Esempio Dato x 0 = ( 1 2, 0) e min{f(x) = 2 x 2 1+x 1 x 2 x 2 2+x 1, x 1 x 2 0, x 1 1 0, x 2 1 0} Al passo 0 si ottiene min{ f 0 (x) = 1 2 x , x 1 x 2 0, x 1 1 0, x 2 1 0} con minimo in x = (1, 1), quindi d 0 = ( 1 2, 1). Applicando Armijo con α 0 = 1 si ottiene x 1 = (1, 1) che e un minimo locale. Questo esempio è fortunato, in generale la convergenza è sublineare.

49 DINFO-Università di Palermo f(x 0 ) punto di minimo x 0 d 0 x 1

50 DINFO-Università di Palermo 49 Metodo del Gradiente Condizionato Esempio Dato x 0 = (0, 0) e min{f(x) = 2 x x 1 x 2 x x 1, x x } Passo 0) min{ f 0 (x) = x 1, x x } minimo in x = ( 1, 0), quindi d 0 = ( 1, 0) applicando Armijo con α 0 = 1 si ottiene x 1 = ( 1, 0). Passo 1) min{ f 1 (x) = 3(x 1 + 1) x 2, x x }... minimo in x = ( 3 10, 1 10 ), quindi d 1 = ( , 1 10 ) applicando Armijo con α 0 = 1 si ottiene x 2 = ( 3 10, 1 10 ).

51 DINFO-Università di Palermo punto di minimo 1 x 0 d 0 x f(x 0 ) x d 0 f(x 1 )

52 DINFO-Università di Palermo 51 Metodo di Proiezione del Gradiente I metodi di proiezione del gradiente trovano la direzione ammissibile proiettando il gradiente sull insieme convesso X. Calcolano x k+1 = x k + α k ( x k x k ) dove x k = [x k s k f(x k )] + e [] + indica la proiezione sul set X, α k (0, 1] è lo stepsize e s k è uno scalare positivo. In pratica, di solito si applica una tra due scelte s k = s è fissato per tutti i k e dopo avere trovato la direzione ( x k x k ) si determina α k con Armijo. si determina s k con Armijo, non tenendo conto dei vincoli e si pone α k = 1, cioè si pone x k+1 = x k.

53 DINFO-Università di Palermo x 0 - f(x 0 ) - f(x 1 ) x 1 punto di minimo Esempio - α k = 1 per ogni k

54 DINFO-Università di Palermo 53 Metodo del Gradiente Ridotto Generalizzazione del simplesso. Si applica per problemi con vincoli lineari max{f(x) : Ax = b, x >= 0} dove A a rango massimo.

55 DINFO-Università di Palermo 54 Metodo del Gradiente Ridotto Ad ogni passo k Si partiziona la matrice A = [B N] e le variabili x k = (x k B, x k N ). La matrice di base B è scelta non singolare e che induca una soluzione di base non degenere, i.e., x k B = B 1 b + B 1 Nx k N > 0. Si calcola il gradiente di f(b 1 b + B 1 Nx N, x N ) in x N = x k N. Il gradiente è detto ridotto in quanto calcolato solo rispetto a x N. d k = xn f(b 1 b + B 1 Nx N, x N ) = xn f(x) + xb f(x)b 1 N Muovendosi lungo d k si rispettano i vincoli di uguaglianza Si pone x k+1 = x k + α k d k, dove fino α k è scelto in modo che o x k+1 è un minimo locale e il metodo si arresta, oppure x k+1 ha una delle variabili in base che si annulla e allora bisogna cambiare base B e continuare ad iterare.

56 DINFO-Università di Palermo 55 Metodo del Gradiente Ridotto Generalizzato Generalizzazione del metodo del gradiente. Si applica per problemi con vincoli non lineari in formulazione standard max{f(x) : h(x) = 0, x >= 0}. Ad ogni passo k si calcola il gradiente ridotto della lineralizzazione locale dei vincoli in x k. Si pone x k+1 = [x k + α k d k ] +, dove: x k+1 deve essere proiettato su X in quanto in generale non soddisfa i vincoli; l ampiezza del passo α k viene tipicamente determinata approssimando localmente f(x) con una funzione quadratica.

57 DINFO-Università di Palermo 56 Metodi con funzioni di penalità Coi metodi delle funzioni di penalità si cerca di trasformare il problema vincolato in un problema non vincolato aggiungendo alla funzione obiettivo dei termini che penalizzano la violazione dei vincoli. Si possono classificare in almeno i seguenti insiemi: funzioni di penalità sequenziali esterne; funzioni di penalità esatte non differenziabili; funzioni lagrangiane aumentate; funzioni di penalità esatte continuamente differenziabili; funzioni lagrangiane aumentate esatte.

58 DINFO-Università di Palermo 57 Funzioni di penalità sequenziali esterne Le funzioni di penalità sequenziali esterne, sono del tipo P (x, ε) = f(x) + ϕ(x) ε dove ε è detto coefficiente di penalità e ϕ(x) è detto termine di penalità. Si sceglie ϕ(x) C 1 t.c. ϕ(x) = 0 per x X, ϕ(x) > 0 per x X, e.g., ϕ(x) = m max 2 (0, g i (x)) + i=1 p h 2 j(x). j=1

59 DINFO-Università di Palermo 58 Funzioni di penalità sequenziali esterne Esempio Dato min{f(x) = 2 x x 1 x 2 x x 1, x x = 0} Si minimizza min{p (x, ε) = 2 x x 1 x 2 x x 1 + (x2 1 +x2 2 1)2 ε } Le soluzioni ottime al variare di ε sono ε x P (x, ε) f(x ) n. iteraz. n. valut. di P (x, ε) 2 ( ,0.9422) ( ,0.7517) ( ,0.5302) ( ,0.5031) ( ,0.5003) ( ,0.5000)

60 DINFO-Università di Palermo 59 Funzioni di penalità sequenziali esterne Commenti Le funzioni di penalità sequenziali esterne sono semplici ma non esatte (i.e., la loro minimizzazione non coincide generalmente con la minimizzazione del problema originario). Infatti se la soluzione del problema vincolato cadeva sui vincoli f(x ) 0 e quindi P (x, ε) 0. Non vi è nemmeno alcuna relazione tra i punti stazionari del problema originario e quello nuovo. Sotto opportune ipotesi l algoritmo converge al minimo del problema originario solo se ε tende a zero.

61 DINFO-Università di Palermo 60 Funzioni di penalità esatte non differenziabili Le funzioni di penalità esatte non differenziabili, sono del tipo P (x, ε) = f(x) + ϕ(x) ε dove ϕ(x) = 0 per x X, ϕ(x) > 0 per x X, ma ϕ(x) non differenziabile, e.g., ϕ(x) = m max(0, g(x)) + i=1 p h j (x). Queste funzioni sono esatte e sotto opportune ipotesi i minimi di f(x) in X e di P (x, ε) in R n coincidono se ε sufficientemente piccolo. j=1 I punti di KKT di f(x) in X sono stazionari per P (x, ε). Non essendo P (x, ε) differenziabile è difficile trovarne il minimo.

62 DINFO-Università di Palermo 61 Funzioni lagrangiane aumentate Le funzioni lagrangiane aumentate sono del tipo L(x, λ, ν, ε) = f(x) + dove ϕ(x, λ, ν, ε) è tale che è differenziabile in x, λ, ν; ϕ(x, λ, ν, ε) ε per ε che tende a zero tende ad una funzione sequenziali esterna; garantisce la complementarità, i.e., se x X, ϕ(x, λ, ν, ε) = 0 se e solo se λ 0 e λg(x) = 0 ; Ad esempio ϕ(x, λ, ν, ε) =. m (ελ max(g i (x), ελ)+max 2 (g i (x), ελ))+ i=1 p (ενh j (x)+h 2 j(x)) j=1

63 DINFO-Università di Palermo 62 Funzioni lagrangiane aumentate Con le funzioni lagrangiane aumentate per ogni tripla di KKT si ha L(x, λ, ν, ε) = 0, per qualunque ε. Sotto opportune ipotesi, i minimi di f(x) in X e di L(x, λ, ν, ε) coincidono se ε sufficientemente piccolo. Purtroppo in generale non sono noti i valori dei moltiplicatori ottimi. Questa difficoltà ha ispirato tutta una serie di algoritmi, detti metodi dei moltiplicatori, dove le stime dei moltiplicatori vengono aggiornate secondo opportune regole.

64 DINFO-Università di Palermo 63 Funzioni di penalità esatte continuamente differenziabili Le funzioni di penalità esatte continuamente differenziabili, sono del tipo P (x, ε) = f(x) + ϕ(x,λ(x),ν(x),ε) ε Approssimano i moltiplicatori di KKT attraverso funzioni moltiplicatrici λ(x), ν(x) dipendenti dalla sola x in una Lagrangiana aumentata. λ(x), ν(x) devono essere in C 1 e data una terna di KKT deve valere λ(x ) = λ e ν(x ) = ν.

65 DINFO-Università di Palermo 64 Funzioni di penalità esatte continuamente differenziabili Commenti Sotto opportune ipotesi, i minimi di f(x) in X sono stazionari per P (x, ε). Il calcolo delle funzioni moltiplicatrici può essere però troppo oneroso se vi sono tanti vincoli, infatti, a x fissato, si deve risolvere il problemi di minimizzazione del tipo min λ,ν ϕ(λ, ν) = xl(x, λ, ν) 2 + λg(x) 2 + r(x)( λ 2 + ν 2 ), dove r(x) = m i=1 max3 (g i (x), 0) + p j=1 h2 j (x).

66 DINFO-Università di Palermo 65 Funzioni lagrangiane aumentate esatte Le funzioni lagrangiane aumentate esatte sono del tipo L(x, λ, ν, ε) = f(x) + ϕ(x,λ,ν,ε) ε + ϕ L (x, λ, ν) dove ϕ L (x, λ, ν) è differenziabile in x,λ,ν ϕ L (x, λ, ν) = 0 se e solo se λ = λ e ν = ν. mentre ϕ L (x, λ, ν) è una funzione di barriera, i.e., tende all infinito per valori di x non contenuti in un sottoinsieme A aperto di X.

67 DINFO-Università di Palermo 66 Funzioni lagrangiane aumentate esatte Commenti. Le funzioni lagrangiane aumentate esatte: Godono delle stesse proprietà delle funzioni di penalità esatte continuamente differenziabili. Non richiedono il calcolo delle funzioni moltiplicatrici ma introducono più variabili. Rispetto alle funzioni lagrangiane aumentate forzano le variabili λ e ν a coincidere con i moltiplicatori di KKT.

68 DINFO-Università di Palermo 67 Funzioni lagrangiane aumentate esatte Commenti Per utilizzare questi metodi Il punto iniziale x 0 deve essere ammissibile o soddisfare delle condizioni t.c. minimizzando le funzioni di penalità si giunga ad un punto ammissibile. I gradienti dei vincoli attivi devono essere indipendenti per ogni x X. La chiusura convessa dell insieme X deve essere compatta oppure f(x) deve essere coerciva.

69 DINFO-Università di Palermo 68 Metodi Barriera Si applica per problemi del tipo min f(x) g i (x) 0, i = 1,..., m. dove l insieme delle soluzioni strettamente ammissibili è non vuoto, int(x) = {x : g i (x) < 0, i = 1,..., m} =.

70 DINFO-Università di Palermo 69 Metodi Barriera Si definisce funzione barriera una funzione continua che tende ad al tendere a zero di g i (x) in ciascun vincolo, e.g., B(x) = m i=1 1 g i (x) o la (più usata) funzione logaritmica B(x) = m log( g i (x)). i=1 x = arg min B(x), se esiste, è detto centro analitico delle disequazioni g 1 (x) < 0,..., g m (x) < 0.

71 DINFO-Università di Palermo Funzioni barriera ε k B(x)

72 DINFO-Università di Palermo 71 Metodi Barriera Il metodo barriera, o path-following, o del punto interno, o tecnica sequenziale di minimizzazione non vincolata (sequential unconstrained minimization technique, SUMT), genera una sequenza di punti x k = arg min x R n{f(x) + εk B(x)}, k = 0, 1,..., dove la sequenza di parametri {ε k } soddisfa 0 < ε k+1 < ε k per ogni k e ε k 0.

73 DINFO-Università di Palermo 72 Metodi Barriera Il ruolo del parametro ε k è quello di pesare opportunamente la funzione barriera, che intrappola la soluzione all interno di int(x), rispetto alla funzione obiettivo. La curva x k (ε k ) per ε k 0 descrive il cosiddetto percorso centrale (central path). Ogni punto di accumulazione della sequenza {x k } generata col metodo barriera è un minimo locale del problema vincolato originario.

Funzioni di più variabili. Ottimizzazione libera e vincolata

Funzioni di più variabili. Ottimizzazione libera e vincolata libera e vincolata Generalità. Limiti e continuità per funzioni di 2 o Piano tangente. Derivate successive Formula di Taylor libera vincolata Lo ordinario è in corrispondenza biunivoca con i vettori di

Dettagli

Funzioni in più variabili

Funzioni in più variabili Funzioni in più variabili Corso di Analisi 1 di Andrea Centomo 27 gennaio 2011 Indichiamo con R n, n 1, l insieme delle n-uple ordinate di numeri reali R n4{(x 1, x 2,,x n ), x i R, i =1,,n}. Dato X R

Dettagli

Da una a più variabili: derivate

Da una a più variabili: derivate Da una a più variabili: derivate ( ) 5 gennaio 2011 Scopo di questo articolo è di evidenziare le analogie e le differenze, relativamente al calcolo differenziale, fra le funzioni di una variabile reale

Dettagli

EQUAZIONI non LINEARI

EQUAZIONI non LINEARI EQUAZIONI non LINEARI Francesca Pelosi Dipartimento di Matematica, Università di Roma Tor Vergata CALCOLO NUMERICO e PROGRAMMAZIONE http://www.mat.uniroma2.it/ pelosi/ EQUAZIONI non LINEARI p.1/44 EQUAZIONI

Dettagli

1. Intorni di un punto. Punti di accumulazione.

1. Intorni di un punto. Punti di accumulazione. 1. Intorni di un punto. Punti di accumulazione. 1.1. Intorni circolari. Assumiamo come distanza di due numeri reali x e y il numero non negativo x y (che, come sappiamo, esprime la distanza tra i punti

Dettagli

Fondamenti di FISICA MATEMATICA II: Introduzione alla Teoria delle Equazioni alle Derivate Parziali del Secondo Ordine

Fondamenti di FISICA MATEMATICA II: Introduzione alla Teoria delle Equazioni alle Derivate Parziali del Secondo Ordine Valter Moretti Dipartimento di Matematica Università di Trento Fondamenti di FISICA MATEMATICA II: Introduzione alla Teoria delle Equazioni alle Derivate Parziali del Secondo Ordine Corso di Fondamenti

Dettagli

Problemi di ottimizzazione di forma. su classi di insiemi convessi

Problemi di ottimizzazione di forma. su classi di insiemi convessi Università degli Studi di Pisa Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Matematica Anno Accademico 995/996 Tesi di Laurea Problemi di ottimizzazione di forma su classi di insiemi

Dettagli

Appunti dalle Lezioni di MECCANICA RAZIONALE

Appunti dalle Lezioni di MECCANICA RAZIONALE Università degli Studi de L Aquila Appunti dalle Lezioni di MECCANICA RAZIONALE tenute dal prof. Raffaele ESPOSITO i INDICE Indice.......................................................................

Dettagli

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani Ricerca Operativa Esercizi sul metodo del simplesso Luigi De Giovanni, Laura Brentegani 1 1) Risolvere il seguente problema di programmazione lineare. ma + + 3 s.t. 2 + + 2 + 2 + 3 5 2 + 2 + 6,, 0 Soluzione.

Dettagli

Matematica B - a.a 2006/07 p. 1

Matematica B - a.a 2006/07 p. 1 Matematica B - a.a 2006/07 p. 1 Definizione 1. Un sistema lineare di m equazioni in n incognite, in forma normale, è del tipo a 11 x 1 + + a 1n x n = b 1 a 21 x 1 + + a 2n x n = b 2 (1) = a m1 x 1 + +

Dettagli

Capitolo Dodicesimo CALCOLO DIFFERENZIALE PER FUNZIONI DI PIÙ VARIABILI

Capitolo Dodicesimo CALCOLO DIFFERENZIALE PER FUNZIONI DI PIÙ VARIABILI Capitolo Dodicesimo CALCOLO DIFFERENZIALE PER FUNZIONI DI PIÙ VARIABILI CAMPI SCALARI Sono dati: un insieme aperto A Â n, un punto x = (x, x 2,, x n )T A e una funzione f : A Â Si pone allora il PROBLEMA

Dettagli

Note integrative ed Esercizi consigliati

Note integrative ed Esercizi consigliati - a.a. 2006-07 Corso di Laurea Specialistica in Ingegneria Civile (CIS) Note integrative ed consigliati Laura Poggiolini e Gianna Stefani Indice 0 1 Convergenza uniforme 1 2 Convergenza totale 5 1 Numeri

Dettagli

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Introduzione Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Il problema del massimo flusso è uno dei fondamentali problemi nell ottimizzazione su rete. Esso è presente

Dettagli

Appunti ed esercizi. di Meccanica Razionale

Appunti ed esercizi. di Meccanica Razionale Appunti ed esercizi di Meccanica Razionale Università degli Studi di Trieste - Sede di Pordenone Facoltà di Ingegneria Appunti ed esercizi di Meccanica Razionale Luciano Battaia Versione del 29 dicembre

Dettagli

1 Definizione: lunghezza di una curva.

1 Definizione: lunghezza di una curva. Abstract Qui viene affrontato lo studio delle curve nel piano e nello spazio, con particolare interesse verso due invarianti: la curvatura e la torsione Il primo ci dice quanto la curva si allontana dall

Dettagli

Sulla monotonia delle funzioni reali di una variabile reale

Sulla monotonia delle funzioni reali di una variabile reale Liceo G. B. Vico - Napoli Sulla monotonia delle funzioni reali di una variabile reale Prof. Giuseppe Caputo Premetto due teoremi come prerequisiti necessari per la comprensione di quanto verrà esposto

Dettagli

ED. Equazioni cardinali della dinamica

ED. Equazioni cardinali della dinamica ED. Equazioni cardinali della dinamica Dinamica dei sistemi La dinamica dei sistemi di punti materiali si può trattare, rispetto ad un osservatore inerziale, scrivendo l equazione fondamentale della dinamica

Dettagli

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE 1 DIPENDENZA E INDIPENDENZA LINEARE Se ho alcuni vettori v 1, v 2,, v n in uno spazio vettoriale V, il sottospazio 1 W = v 1,, v n di V da loro generato è

Dettagli

STUDIO DEL MODELLO DI ISING SU GRAFI FRATTALI

STUDIO DEL MODELLO DI ISING SU GRAFI FRATTALI UNIVERSITÀ DEGLI STUDI DI PARMA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN FISICA STUDIO DEL MODELLO DI ISING SU GRAFI FRATTALI Relatore: Correlatore: Dott. DAVIDE CASSI Dott.ssa

Dettagli

Soluzione numerica di problemi alle derivate parziali

Soluzione numerica di problemi alle derivate parziali Soluzione numerica di problemi alle derivate parziali Metodi alle differenze finite Prof. LAURA GORI Anno Accademico 1998-99 1. Generalità sulle equazioni alle derivate parziali Un equazione differenziale

Dettagli

Esercizi su lineare indipendenza e generatori

Esercizi su lineare indipendenza e generatori Esercizi su lineare indipendenza e generatori Per tutto il seguito, se non specificato esplicitamente K indicherà un campo e V uno spazio vettoriale su K Cose da ricordare Definizione Dei vettori v,,v

Dettagli

ESAME DI STATO 2002 SECONDA PROVA SCRITTA PER IL LICEO SCIENTIFICO DI ORDINAMENTO

ESAME DI STATO 2002 SECONDA PROVA SCRITTA PER IL LICEO SCIENTIFICO DI ORDINAMENTO ARCHIMEDE 4/ 97 ESAME DI STATO SECONDA PROVA SCRITTA PER IL LICEO SCIENTIFICO DI ORDINAMENTO Il candidato risolva uno dei due problemi e 5 dei quesiti in cui si articola il questionario. PROBLEMA In un

Dettagli

Φ(t,ẋ,ẍ,...,x (n) ) = 0.

Φ(t,ẋ,ẍ,...,x (n) ) = 0. 2 INTRODUZIONE ALLE EQUAZIONI DIFFERENZIALI ORDINARIE Si chiamano equazioni differenziali le equazioni in cui le incognite sono funzioni di una o più variabili indipendenti, ed in cui compaiano non solo

Dettagli

Teoria quantistica della conduzione nei solidi e modello a bande

Teoria quantistica della conduzione nei solidi e modello a bande Teoria quantistica della conduzione nei solidi e modello a bande Obiettivi - Descrivere il comportamento quantistico di un elettrone in un cristallo unidimensionale - Spiegare l origine delle bande di

Dettagli

Appunti di Logica Matematica

Appunti di Logica Matematica Appunti di Logica Matematica Francesco Bottacin 1 Logica Proposizionale Una proposizione è un affermazione che esprime un valore di verità, cioè una affermazione che è VERA oppure FALSA. Ad esempio: 5

Dettagli

A i è un aperto in E. i=1

A i è un aperto in E. i=1 Proposizione 1. A è aperto se e solo se A c è chiuso. Dimostrazione. = : se x o A c, allora x o A = A o e quindi esiste r > 0 tale che B(x o, r) A; allora x o non può essere di accumulazione per A c. Dunque

Dettagli

ALGEBRA I: NUMERI INTERI, DIVISIBILITÀ E IL TEOREMA FONDAMENTALE DELL ARITMETICA

ALGEBRA I: NUMERI INTERI, DIVISIBILITÀ E IL TEOREMA FONDAMENTALE DELL ARITMETICA ALGEBRA I: NUMERI INTERI, DIVISIBILITÀ E IL TEOREMA FONDAMENTALE DELL ARITMETICA 1. RICHIAMI SULLE PROPRIETÀ DEI NUMERI NATURALI Ho mostrato in un altra dispensa come ricavare a partire dagli assiomi di

Dettagli

Esercizi di Algebra Lineare. Claretta Carrara

Esercizi di Algebra Lineare. Claretta Carrara Esercizi di Algebra Lineare Claretta Carrara Indice Capitolo 1. Operazioni tra matrici e n-uple 1 1. Soluzioni 3 Capitolo. Rette e piani 15 1. Suggerimenti 19. Soluzioni 1 Capitolo 3. Gruppi, spazi e

Dettagli

MATRICI E DETERMINANTI

MATRICI E DETERMINANTI MATRICI E DETERMINANTI 1. MATRICI Si ha la seguente Definizione 1: Un insieme di numeri, reali o complessi, ordinati secondo righe e colonne è detto matrice di ordine m x n, ove m è il numero delle righe

Dettagli

Equazioni non lineari

Equazioni non lineari Dipartimento di Matematica tel. 011 0907503 stefano.berrone@polito.it http://calvino.polito.it/~sberrone Laboratorio di modellazione e progettazione materiali Trovare il valore x R tale che f (x) = 0,

Dettagli