Ricostruzione sparsa AMPL: Esempi NLP F. Rinaldi Dipartimento di Matematica Università di Padova Corso di Laurea Matematica F. Rinaldi AMPL: Esempi NLP Ricostruzione sparsa Outline AMPL: Esempi NLP Ricostruzione sparsa F. Rinaldi AMPL: Esempi NLP Ricostruzione sparsa Esempio: Il caso della ricostruzione di segnali rumorosi Esercizio Dati: ◮ un segnale reale (rumoroso) b ∈ R m , ◮ un dizionario di segnali standard A = [a1 . . . an ], con A ∈ R m×n e m ≪ n, l’obiettivo é quello di approssimare b con una combinazione lineare del minor numero possibile di elementi del dizionario. F. Rinaldi AMPL: Esempi NLP Ricostruzione sparsa Procedura ◮ Formulazione del problema ◮ Analisi del problema ◮ Scelta del metodo risolutivo ◮ Costruzione modello AMPL ◮ Risoluzione ◮ Verifica F. Rinaldi AMPL: Esempi NLP Ricostruzione sparsa Formulazione esatta ◮ Ricostruzione sparsa min kxk0 Ax = b F. Rinaldi AMPL: Esempi NLP (1) Ricostruzione sparsa Riformulazione del problema ◮ Ricostruzione sparsa min n X (1 − e−5yi ) i=1 Ax = b −y ≤ x ≤ y F. Rinaldi AMPL: Esempi NLP (2) Ricostruzione sparsa Analisi problema e Scelta Metodo Risolutivo ◮ Problema con funzione obiettivo concava e vincoli lineari ◮ Possibile utilizzare Frank-Wolfe con passo unitario ◮ Risolviamo un numero finito di problemi di PL ◮ Necessario algoritmo per risoluzione di problemi di PL (e.g. CPLEX) F. Rinaldi AMPL: Esempi NLP Ricostruzione sparsa Schema dell’Algoritmo Require: x 0 ∈ Ω. For k = 0, 1, . . ., Calcola x k risolvendo il problema: x k = arg min ∇f (x k )T (x − x k ) x∈Ω If ∇f (x k )T (x k − x k ) ≥ 0 STOP Else Definisci una direzione di discesa dk = xk − xk e genera un nuovo vettore x k +1 = x k + αk d k con αk ∈ (0, 1] passo opportunamente scelto. EndIf EndFor F. Rinaldi AMPL: Esempi NLP (3) Ricostruzione sparsa Schema dell’Algoritmo Require: x 0 ∈ Ω. For k = 0, 1, . . ., Calcola x k risolvendo il problema: x k = arg min ∇f (x k )T (x − x k ) x∈Ω If ∇f (x k )T (x k − x k ) ≥ 0 STOP Else Definisci una direzione di discesa dk = xk − xk e genera un nuovo vettore x k +1 = x k + αk d k con αk ∈ (0, 1] passo opportunamente scelto. Passo αk = 1 EndIf EndFor F. Rinaldi AMPL: Esempi NLP (3) Ricostruzione sparsa Commenti ◮ Passo scelto αk = 1 ◮ Scelta Punto Iniziale: Risolvere un problema di PL opportuno (e.g. con c = e per f.o.) ◮ Criterio di Arresto: ∇f (x k )T (x k − x k ) ≥ −ǫ F. Rinaldi AMPL: Esempi NLP Ricostruzione sparsa Generazione Istanze ◮ dimensioni m = 32 n = 128 ◮ A matrice randomica (Normal(0,1)) ◮ x ⋆ soluzione generata randomicamente con s = 5 componenti non nulle ◮ b = Ax ⋆ + ǫ ◮ ǫ generato randomicamente (Normal(0,0.0001)) F. Rinaldi AMPL: Esempi NLP Ricostruzione sparsa Formulazione con errore ◮ Ricostruzione sparsa min kxk0 kAx − bk2 ≤ δ F. Rinaldi AMPL: Esempi NLP (4)