10 marzo 2010mospe1 ottimizzazione non lineare non vincolata: metodi iterativi di eliminazione ed...

30
10 marzo 2010 MOSPE 1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una variabile

Upload: sansone-russo

Post on 01-May-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 1

Ottimizzazione non lineare non vincolata:

Metodi iterativi di eliminazione ed interpolazione per

ottimizzazione di funzione di una variabile

Page 2: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 2

Ottimizzazione non lineare non vincolata• Il problema di ottimizzazione non lineare non vincolata di

funzione di una variabile viene posto nella forma:

f*=min {f(x)} dove x (1)

dove f (funzione non lineare) è la cosiddetta funzione obiettivo

• Il problema (1) è equivalente al problema:

f*=-max {-f(x)} dove x (2)

f(x)

-f(x)

Page 3: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 3

Metodi iterativi di discesa• La ricerca di una soluzione ottimale per un problema di

ottimizzazione non lineare viene condotta utilizzando algoritmi iterativi di discesa

• Si tratta di metodi iterativi che percorrono una traiettoria composta da una successione di soluzioni ammissibili, effettuando ad ogni iterazione uno spostamento lungo una direzione ammissibile, in modo che il valore della funzione obiettivo per la nuova soluzione sia inferiore al valore per la soluzione precedente

• L’efficienza di un metodo di ricerca consiste nell’ottenere una prescelta approssimazione del punto di minimo con il minor numero possibile di tentativi

Page 4: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 4

Classificazione di metodi iterativiMetodi di eliminazione:• Ricerca illimitata• Ricerca esaustiva• Metodo di bisezione

(dicotomico)• Metodo di Fibonacci• Metodo della sezione aurea

• I metodi di eliminazione possono essere usati anche per ottimizzazione di funzioni discontinue e non differenziabili in quanto non utilizzano la derivata della funzione obiettivo!!!

Metodi di interpolazione:• Quadratica• Cubica• Ricerca diretta di radici:

– Newton– quasi-Newton– del gradiente

Page 5: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 5

Funzione unimodale• I metodi di bisezione, di Fibonacci e della sezione aurea

richiedono che la funzione da minimizzare sia unimodale o sia dotata di un unico punto di minimo, su un intervallo chiuso [a,b]

• La funzione [a,b] xf(x) si definisce unimodale se x1<x2<x* f(x2)<f(x1) e x2>x1>x* f(x1)<f(x2) dove x* è il punto minimo della funzione.

• In altre parole - esiste un valore x* [a,b] tale che la funzione è strettamente decrescente per x<x* e strettamente crescente per x*>x - o viceversa

Page 6: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 6

Funzione unimodale vs funzione multimodale

Page 7: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 7

Ricerca illimitata

• Un metodo elementare di ricerca del punto ottimale della funzione f è basato sull’uso di passo fisso e spostamento, da un punto iniziale scelto, nella direzione favorevole (positiva o negativa). Il passo usato deve essere piccolo in relazione con l’accuratezza finale desiderata

• Nella ricerca illimitata (ed in tutti gli altri metodi di eliminazione) si assume che la funzione f sia unimodale. Nel caso di funzione multimodale l’intervallo di esplorazione per la funzione viene suddiviso in diverse parti in ciascuna della quali la funzione è unimodale.

Page 8: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 8

Esempio di ricerca non limitata con passo fisso

x1 x2 x3 x4 x5

f1

f2

f3

f5>f4 s

Page 9: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 9

Algoritmo (1)

1. Inizializzazione con una stima iniziale, x1

2. Calcolo di f1=f(x1)

3. Calcolo di x2=x1+s dove s è

il passo prescelto4. Calcolo di f2=f(x2)

5. Se f2<f1 e il problema è un problema di minimizzazione, l’ipotesi di

unimodalità indica che il minimo non può trovarsi per x<x1, quindi la

ricerca può essere continuata lungo i punti x3, x4… usando la ipotesi di

unimodalità durante la verifica di ogni coppia dei punti. La procedura viene continuata fin quando il valore di f in un punto xi=x1+(i-1)s

comincia a crescere6. Terminazione della procedura nel punto xi-1

x1 x2 x3 x4 x5

f1

f2

f3

f5>f4 s

Page 10: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 10

Algoritmo (1)

7. Se all’inizio f2>f1 la ricerca deve

essere svolta nella direzione opposta cioè per i punti x-2, x-3…,

dove x-j=x1-(j-1)s

8. Se f2=f1 il minimo cercato sta tra x2 e x1 e quindi il punto di minimo

può essere scelto sia in x2 sia in x1

9. Se sia f2 sia f-2 sono più grandi di f1, questo implica che il minimo si

trova nell’intervallo x-2<x<x2

x1 x2 x3 x4 x5

f1

f2

f3

f5>f4 s

Page 11: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 11

Passo accelerato• Anche se la ricerca con passo fisso sembra molto semplice, la

maggiore limitazione viene dal fatto della natura non limitata del regione dove si può trovare il minimo

• Per esempio se il punto minimo di una certa funzione f si trova a x*=50000 e, in assenza di conoscenza della sua posizione, x1 ed s vengono scelti come 0 e 0.1, la funzione f deve essere valutata 50001 volte per trovare il minimo!

• Per risolvere questo problema, per esempio, in ogni iterazione il passo può essere raddoppiato. Successivamente, per ottenere una sufficiente accuratezza, la procedura di base può essere applicata all’intervallo (xi-1,xi) cominciando da xi-1 o xi

Page 12: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 12

Esempio numerico di ricerca con passo fisso• Trova il minimo della funzione f=x(x-1.5) cominciando da x1=0

e s=0.05

i s xi= x1 +(i-1)s

fi fi>fi-1

1 - 0.0 0.0 -

2 0.05 0.05 -0.0725 No

3 0.05 0.10 -0.140 No

16 0.05 0.75 -0.5625 No

17 0.05 0.80 -0.560 Si

Page 13: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 13

Esempio numerico di ricerca con passo accel.• Trova il minimo della funzione f=x(x-1.5) cominciando da x1=0

e s=0.05

i s xi= x1 +s fi fi>fi-1

1 - 0.0 0.0 -

2 0.05 0.05 -0.0725 No

3 0.10 0.10 -0.140 No

4 0.20 0.20 -0.260 No

5 0.40 0.40 -0.440 No

6 0.80 0.80 -0.560 No

7 1.60 1.60 +0.160 Si

Page 14: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 14

Ricerca esaustiva• La ricerca esaustiva può essere usata per la soluzione dei

problemi in cui l’intervallo in cui si trova il minimo è finito. • Si denotano con xs ed xf rispettivamente il punto iniziale e

finale dell’intervallo di ricerca• Il metodo consiste nella valutazione (simultanea) della

funzione obiettivo in un determinato numero di punti distribuiti uniformemente nell’intervallo (xs, xf) e riducendo intervallo di incertezza usando l’assunzione di unimodalità

x1 x2 x3 x4 x5

Page 15: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 15

Metodo di bisezione (dicotomico)

• Nel metodo di bisezione esattamente la metà dell’intervallo corrente viene scartata in ogni iterazione

• Il metodo richiede tre punti iniziali e due punti sperimentali in ogni iterazione della procedura

Page 16: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 16

Algoritmo1. Suddivisione dell’intervallo di incertezza L0=[a,b] in 4 parti uguali, con x0 al

centro

2. Valutazione della funzione obiettivo f nei punti x0, x1 ,x2

3. Se:a) f(x2)>f(x0)>f(x1) cancella [x0,b]

e sostituisci x0 = x1 e b=x0

b) f(x2)<f(x0)<f(x1) cancella [a,x0] e sostituisci x0 =x2 e a=x0

c) f(x1)>f(x0) e f(x2)> f(x0) cancella [a,x1] e [x2,b] e sostituisci a=x1 e b=x2

4. Controlla se il nuovo intervallo L=b-a soddisfa il criterio di convergenza L<=epsilon; se converge finisci la procedura se no torna al punto 1

a x1 x0 x2 b

L0

a x1 x0 x2 b

Page 17: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 17

Esempio numerco di metodo di bisezione• Trovare il minimo della

funzione f=x(x-1.5) nell’intervallo [0,1] con epsilon=0.1 e epsilon=0.01

Page 18: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 18

Metodo di Fibonacci• Il metodo di Fibonacci può essere applicato per la ricerca del

minimo di una funzione di una variabile anche non continua.

• Come tanti altri metodi di eliminazione esistono le seguenti limitazioni per quanto riguarda l’uso del metodo:– L’intervallo iniziale di incertezza deve essere noto– La funzione obiettivo deve essere unimodale in questo

intervallo– La soluzione esatta non può essere trovata – solo un

intervallo finale di incertezza– Il numero di valutazioni della funzione o la risoluzione

deve essere specificato all’inizio della procedura

Page 19: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 19

Numeri di Fibonacci• Il metodo usa la sequenza di numeri di Fibonacci Fn, definiti

tramite la relazione ricorsiva:F0=F1=1

Fn=Fn-1+Fn-2 n=2,3,4,…

che determina la successione:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144,…

• L’algoritmo si basa sulla valutazione della funzione obiettivo f in corrispondenza di una successione finita di n punti, e ricava un intervallo di incertezza, di ampiezza decrescente con n, all’interno del quale si colloca la soluzione ottimale.

Page 20: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 20

Algoritmo (1)1. Inizializzazione con due punti di tentativo x1 e x2 posti a distanza L2*=Fn-2/Fn·L0

dagli estremi dell’intervallo L0=[a,b] dove n è il numero totale di valutazioni:

x1=a+ L2*=a+ Fn-2/Fn·L0

x2=b-L2*=b- Fn-2/Fn·L0 =a+ Fn-1/Fn·L0

(se un punto è posto alla distanza Fn-2/Fn·L0 da un estremo dell’intervallo, sarà posto alla distanza Fn-1/Fn·L0 dall’altro estremo)

2. Sulla base di assunzione di unimodalità una parte dell’intervallo viene scartata; il rimanente intervallo di incertezza ha lunghezza L2 definita:

L2=L0-L2*=L0(1-Fn-2/Fn)= Fn-1/Fn·L0

e contiene uno dei punti di tentativo alla distanza:L2*= Fn-2/Fn·L0= Fn-2/Fn-1·L2

da un lato e L2 -L2*= Fn-3/Fn·L0= Fn-3/Fn-1·L2

dall’altro lato dell’intervallo L2

Page 21: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 21

Algoritmo (2)3. Si procede con il terzo tentativo x3 nell’intervallo L2 alla distanza:

L3*= Fn-3/Fn·L0= Fn-3/Fn-1·L2

da ogni lato dell’ intervallo L2

4. Usando la condizione di unimodalità l’intervallo di incertezza viene ridotto all’intervallo L3:

L3=L2-L3*=L2- Fn-3/Fn-1·L2= Fn-2/Fn-1·L2 = Fn-2/Fn·L0

5. Il processo viene continuato con:Lj*= Fn-j/Fn-(j-2)·Lj-1

Lj = Fn-(j-1)/Fn·L0

6. Dopo un numero di passi uguale a j il rapporto tra l’intervallo determinato e quello residuo è uguale a:

Lj /L0 = Fn-(j-1)/Fn

7. Per j=n abbiamo:Ln /L0 = F1/Fn =1/Fn

Page 22: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 22

Esempio numerico di metodo di Fibonacci• Trova un minimo di f(x)=0.65-

[0.75/(1+x2)]-0.65xtan-1(1/x) su intervallo [0,3] usando n=6

• n=6, L0=3• L2*=Fn-2/Fn·L0=5/13·3=1.153846• x1=1.153846 f(x1)=-0.207270• x2=3-1.153846=1.846154

f(x2)=-0.115843• f(x1)<f(x2) [x2,3] viene scartato• x3=0+(x2-x1)=0.692308

f(x3)=-0.291364• f(x1)>f(x3) [x1, x2] viene scartato• (…..)

x1

x2

L0

L2* L2*

x3

L2

Page 23: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 23

Metodo della sezione aurea• Il metodo della sezione aurea è simile al metodo di Fibonacci

eccetto che nel metodo di Fibonacci il numero totale di tentativi viene specificato all’inizio per determinare la posizione iniziale dei punti; nel metodo della sezione aurea si assume che il numero di tentativi sia molto grande (n∞)

• È possibile dimostrare che con n∞ abbiamo:limn∞Fn-1/Fn=1/π10.618

dove π11.618 è una radice dell’equazione x2=x+1 e costituisce la sezione aurea, già nota nell’antica Grecia

• Nel metodo i punti iniziali x1 e x2 vengono scelti in corrispondenza di:

L2*=Fn-2/Fn·L0 =Fn-2/Fn-1·Fn-1/Fn·L0=L0/π12=0.382L0

Page 24: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

Sezione aurea

• La sezione aurea, nell'ambito dell‘arte e della matematica, indica il rapporto fra due grandezze disuguali, delle quali la maggiore è medio proporzionale tra la minore e la somma delle due, mentre lo stesso rapporto esiste anche tra la grandezza minore e la loro differenza.

• In formule, indicando con a la lunghezza maggiore e con b la lunghezza minore, vale la relazione: (a+b) : a = a : b = b : (a-b)

10 marzo 2010 MOSPE 24

Page 25: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

Arco di Traiano e sezione aurea

10 marzo 2010 MOSPE 25

Page 26: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

Confronto dei metodi di eliminazione

10 marzo 2010 MOSPE 26

Metodo Error: 1/2·Ln/L0<=0.1 Error: 1/2·Ln/L0<=0.01

Ricerca esaustiva n>=9 n>=99

Metodo di bisezione n>=7 n>=13

Metodo di Fibonacci n>=4 n>=9

Metodo della sezione aurea n>=5 n>=10

Page 27: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

Metodo di Fibonacci – sviluppo dell’algoritmo in Matlab

10 marzo 2010 MOSPE 27

Page 28: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

10 marzo 2010 MOSPE 28

Ricerca diretta di radici• Metodo di Newton• Metodo quasi Newtoniano• Metodo della secante

Page 29: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

Convergenza (1)• Convergenza (def. 1): La sequenza xi delle iterazioni converge

alla soluzione α se:

• Convergenza (def. 2): La sequenza xi delle iterazioni converge alla soluzione α se, dato un ε>0 qualsiasi, esiste un intero n0 tale per cui con n≥n0 si ha:

• Convergenza lineare: La sequenza xi delle iterazioni converge linearmente alla soluzione α se esiste una costante c con 0<c<1 ed un intero n≥0 tali per cui:

10 marzo 2010 MOSPE 29

lim 0ii

x

nx

1n nx c x

Page 30: 10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una

Convergenza (2)• Convergenza superlineare: La sequenza xi delle iterazioni

converge superlinearmente alla soluzione α se, per qualche sequenza cn che converge a 0, esiste un intero n≥0 tali per cui:

• Convergenza di ordine p: La sequenza xi delle iterazioni converge con ordine p ≥ 1 alla soluzione α se, per qualche c>0, esiste un intero n ≥ 0 tale per cui:

p è anche detto ordine di convergenza del metodo.

10 marzo 2010 MOSPE 30

1n n nx c x

1p

n nx c x