5.5 Programmazione quadratica (PQ Minimizzare una funzione quadratica soggetta a vincoli lineari: 1 min x t Qx + c t x 2 s.v. a t i x b i i D (P a t i x = b i i U x R n dove Q matrice n n, D e U sono gli insiemi di indici dei vincoli di disuguaglianza e uguaglianza. Senza perdita di generalità: Q è simmetrica (stesso valore f. o. con Q non simmetrica e Q = 1 2 (Q + Qt. Difficoltà dipende dalla natura di Q: se Q è semidefinita positiva, (P è convesso e relativamente facile da risolvere, altrimenti può avere molti ottimi locali. Esempio: min{ x t x : 1 x i 1, i = 1,..., n} dove i 2 n vertici sono minimi locali. Edoardo Amaldi (PoliMI Ottimizzazione A.A. 2013-14 1 / 13
Programmi quadratici sono i più semplici problemi di PNL, sono noti algoritmi efficienti. Molte applicazioni ma anche ruolo importante nei metodi efficaci per problemi più generali. Edoardo Amaldi (PoliMI Ottimizzazione A.A. 2013-14 2 / 13
PQ con solo vincoli di uguaglianza min{ 1 2 x t Qx + c t x : Ax = b } (1 dove A matrice m n, con m n, di rango pieno m (non vi sono vincoli ridondanti. Poiché solo equazioni lineari, qualifica dei vincoli soddisfatta in tutti i punti della regione ammissibile e le condizioni di KKT si semplificano: m Qx + c + u i a i = 0 Ax = b. N.B.: Condizioni degli scarti complementari automaticamente soddisfatte. i=1 Soluzione più o meno diretta del sistema: ( ( Q A t x = A 0 u ( c b. Se A è di rango pieno e Q è definita positiva sul sottospazio {x R n matrice (di sinistra è non singolare. : Ax = 0}, la Edoardo Amaldi (PoliMI Ottimizzazione A.A. 2013-14 3 / 13
Metodo dello spazio nullo Si determina una matrice Z R n (n m di cui le colonne costituiscono una base dello spazio nullo {x R n : Ax = 0} di A. Z si ottiene fattorizzando una sottomatrice di A (e.g., se A sparsa fattorizzazione LU. Dato x 0 ammissibile, ogni altra soluzione ammissibile può esprimersi per un opportuno vettore w R n m. x = x 0 + Zw Con semplici passaggi algebrici si verifica che il problema (1 è equivalente al PQ non vincolato: min{ 1 2 w t (Z t QZw + (Qx 0 + c t Zw : w R n m } Se l Hessiano ridotto Z t QZ è definito positivo, l unica soluzione ottima w si può ottenere risolvendo il sistema lineare: (Z t QZw = Z t (Qx 0 + c. Esistono altri metodi per risolvere (1 ma quelli dello spazio nullo sono i più utilizzati. Edoardo Amaldi (PoliMI Ottimizzazione A.A. 2013-14 4 / 13
PQ con vincoli di uguaglianza e disuguaglianza Metodi di tipo active set 1 min x t Qx + c t x 2 s.v. a t i x b i i D (P a t i x = b i i U x R n dove Q matrice n n, D e U sono gli insiemi di indici dei vincoli di disuguaglianza e uguaglianza. Idea: Determinare il sottoinsieme I (x degli indici dei vincoli attivi in x ottimo, risolvendo una sequenza di problemi con solo vincoli di uguaglianza. Edoardo Amaldi (PoliMI Ottimizzazione A.A. 2013-14 5 / 13
Metodo active set per PQ convessi Inizializzazione: Trovare una soluzione ammissibile iniziale x 0 e scegliere W 0 I (x 0 = {i D : a t i x 0 = b i} U sottoinsieme degli indici dei vincoli attivi in x 0. Iterazione k: Data la soluzione x k ammissibile corrente si determina una direzione d k risolvendo il sottoproblema: min{ q(x k + d : a t i (x k + d = b i, i W k }, dove W k è il corrente insieme di lavoro, con W k I (x k = {i D : a t i x k = b i} U. Sottoproblema equivalente: min{ q(x k + d : a t i d = 0, i W k }. (2 N.B.: Se Hessiano ridotto Z t QZ è definito positivo (sempre vero se Q lo è, il sottoproblema (2 ha una soluzione unica d k. In base al tipo di soluzione d k di (2, si calcola α k, si pone x k+1 = x k + α k d k e si determina W k+1. Edoardo Amaldi (PoliMI Ottimizzazione A.A. 2013-14 6 / 13
Se d k 0, si determina il passo più lungo possibile che soddisfa anche tutti i vincoli non in W k : e si pone x k+1 = x k + α k d k. α k = min{1, min i W k, a t i d k >0 b i a t i x k a t i d k }. (3 W k+1 si ottiene aggiungendo a W k l indice di uno dei nuovi vincoli attivi in x k+1. Se d k = 0, allora x k è il minimo della f. o. sul sottospazio definito da W k e si pone x k+1 = x k. Si determinano i moltiplicatori u k i dalle condizioni di ottimalità del primo ordine di (2: Qx k + c + i W k u k i a i = 0. (4 Se ui k 0 per ogni i W k D, allora x k è un ottimo locale del problema di PQ di partenza. Se ui k < 0 per almeno uno degli indici i W k D, si ottiene W k+1 eliminando da W k l indice i con ui k più negativo. Edoardo Amaldi (PoliMI Ottimizzazione A.A. 2013-14 7 / 13
Proposizione: Se Q è definita positiva (f.o. strettamente convessa, il metodo (con regola anticiclo trova la soluzione ottima in un numero finito di iterazioni. N.B.: numero finito di insiemi di lavoro. Esempio: min q(x 1, x 2 = (x 1 1 2 + (x 2 2.5 2 s.v. x 1 + 2x 2 2 0 x 1 + 2x 2 6 0 x 1 2x 2 2 0 x 1 0 x 2 0 dove i vincoli sono numerati nell ordine, da 1 a 5. Figura: partendo da x 0 = ( 2 0. Tratto da J. Nocedal, S. Wright, Numerical optimization, First Edition, Springer 1999, p. 464-465. Edoardo Amaldi (PoliMI Ottimizzazione A.A. 2013-14 8 / 13
Dettagli esempio algoritmo active set : min q(x 1, x 2 = (x 1 1 2 + (x 2 2.5 2 s.v. x 1 + 2x 2 2 0 x 1 + 2x 2 6 0 x 1 2x 2 2 0 x 1 0 x 2 0 dove i vincoli sono numerati nell ordine, da 1 a 5 Iterazione 0: Partiamo dalla soluzione iniziale x 0 = scegliamo W 0 = {3, 5}. ( 2 0 Poiché x 0 è un vertice del poliedro delle soluzioni ammissibili, x 0 minimizza q(x rispetto a W 0 (su {x R n. I vincoli 3 e 5 essendo attivi in x 0, : a t i x = b i, i W 0} e la soluzione ottima del sottoproblema min{ q(x 0 + d : a t i d = 0, i W0 } è d 0 = 0. Edoardo Amaldi (PoliMI Ottimizzazione A.A. 2013-14 9 / 13
Quindi x 1 = x 0 + α 0d 0 = x 0. Risolvendo le condizioni di KKT (4 ( 2 q(x 0 = 5 = u 3 ( 1 2 + u 5 ( 0 1 si determinano i moltiplicatori u 3 e u 5 associati ai vincoli attivi, ossia (u 3, u 5 = ( 2, 1. Poiché u 3 < u 5 < 0 si elimina dall insieme di lavoro il terzo vincolo, ponendo W 1 = {5}. Iterazione 1: La soluzione ottima del sottoproblema min{ q(x 1 + d : a t i d = 0, i W1 ( } è 1 d 1 =. 0 Visto che d 1 non viola nessuno dei vincoli ( con indici non in W 1, la formula (3 fornisce 1 un passo α 1 = 1 e x 2 = x 1 + α 1d 1 =. 0 Poiché in x 2 non sono attivi altri vincoli, si pone W 2 = W 1 = {5}. Edoardo Amaldi (PoliMI Ottimizzazione A.A. 2013-14 10 / 13
Iterazione 2: La soluzione del sottoproblema min{ q(x 2 + d : a t i d = 0, i W2 } è d 2 = 0. Risolvendo le condizioni di KKT (4, ossia ( ( 0 0 q(x 2 = = u 5 5 1 si ottiene u 5 = 5., Quindi x 3 = x 2 e si pone W 3 = W 2 \ {5} =. Iterazione 3: La soluzione del sottoproblema non vincolato min{ q(x 3 + d : a t i d = 0, i W3 ( } è 0 d 3 =. 2.5 Visto che d 3 viola entrambi i vincoli con ( indici 1 e 2 non in W 1, la formula (3 fornisce 1 un passo α 3 = 0.6 e x 4 = x 3 + α 3d 3 =. 1.5 Poiché in x 4 solo il vincolo di indice 1 diventa attivo, si pone W 4 = {1}. Edoardo Amaldi (PoliMI Ottimizzazione A.A. 2013-14 11 / 13
Iterazione 4: La soluzione ottima del sottoproblema min{ q(x 4 + d : a t i d = 0, i W4 ( } è 0.4 d 4 =. 0.2 Visto ( che d 4 non viola nessuno dei vincoli con indici non in W 1, si ottiene α 4 = 1, 1.4 x 5 = e W 1.7 5 = W 4 = {1}. Iterazione 5: La soluzione ottima del sottoproblema min{ q(x 5 + d : a t i d = 0, i W5 } è d 5 = 0. Poiché risolvendo ( le condizioni di KKT (4 si ottiene u 1 = 1.25 0, la soluzione 1.4 ammissibile x 5 = è ottima per il problema di partenza. 1.7 Edoardo Amaldi (PoliMI Ottimizzazione A.A. 2013-14 12 / 13
PQ non convessi e codici Metodo active set per problemi non convessi Se l Hessiano ridotto Z t QZ è indefinito, (2 è inferiormente illimitato. Si cerca quindi d k tale che q(x k + αd k sia inferiormente illimitata con opportune tecniche di fattorizzazione del Hessiano ridotto. Si determina il più grande α k che soddisfa tutti gli altri vincoli, e si pone x k+1 = x k + α k d k. W k+1 si ottiene aggiungendo a W k l indice di uno dei nuovi vincoli attivi in x k+1. Codici di PQ Codici efficienti procedono per aggiornamento (W k cambia poco ad ogni iterazione. Esistono vari risolutori basati su metodi di tipo active set (LINDO, LSSOL, QPOPT, NAG Library, Matlab,... Edoardo Amaldi (PoliMI Ottimizzazione A.A. 2013-14 13 / 13