La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una."— Transcript della presentazione:

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

2 10 marzo 2010MOSPE2 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(

3 10 marzo 2010MOSPE3 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 Lefficienza di un metodo di ricerca consiste nellottenere una prescelta approssimazione del punto di minimo con il minor numero possibile di tentativi

4 10 marzo 2010MOSPE4 Classificazione di metodi iterativi Metodi 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

5 10 marzo 2010MOSPE5 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] x f(x) si definisce unimodale se x 1 x 1 >x* f(x 1 )

6 10 marzo 2010MOSPE6 Funzione unimodale vs funzione multimodale

7 10 marzo 2010MOSPE7 Ricerca illimitata Un metodo elementare di ricerca del punto ottimale della funzione f è basato sulluso 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 laccuratezza 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 lintervallo di esplorazione per la funzione viene suddiviso in diverse parti in ciascuna della quali la funzione è unimodale.

8 10 marzo 2010MOSPE8 Esempio di ricerca non limitata con passo fisso

9 10 marzo 2010MOSPE9 Algoritmo (1) 1.Inizializzazione con una stima iniziale, x 1 2.Calcolo di f 1 =f(x 1 ) 3.Calcolo di x 2 =x 1 +s dove s è il passo prescelto 4.Calcolo di f 2 =f(x 2 ) 5.Se f 2

10 10 marzo 2010MOSPE10 Algoritmo (1) 7.Se allinizio f 2 >f 1 la ricerca deve essere svolta nella direzione opposta cioè per i punti x -2, x -3 …, dove x -j =x 1 -(j-1)s 8.Se f 2 =f 1 il minimo cercato sta tra x 2 e x 1 e quindi il punto di minimo può essere scelto sia in x 2 sia in x 1 9.Se sia f 2 sia f -2 sono più grandi di f 1, questo implica che il minimo si trova nellintervallo x -2

11 10 marzo 2010MOSPE11 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, x 1 ed s vengono scelti come 0 e 0.1, la funzione f deve essere valutata 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 allintervallo (x i-1,x i ) cominciando da x i-1 o x i

12 10 marzo 2010MOSPE12 Esempio numerico di ricerca con passo fisso Trova il minimo della funzione f=x(x-1.5) cominciando da x 1 =0 e s=0.05 isx i = x 1 +(i-1)s fifi f i >f i No No No Si

13 10 marzo 2010MOSPE13 Esempio numerico di ricerca con passo accel. Trova il minimo della funzione f=x(x-1.5) cominciando da x 1 =0 e s=0.05 isx i = x 1 +sfifi f i >f i No No No No No Si

14 10 marzo 2010MOSPE14 Ricerca esaustiva La ricerca esaustiva può essere usata per la soluzione dei problemi in cui lintervallo in cui si trova il minimo è finito. Si denotano con x s ed x f rispettivamente il punto iniziale e finale dellintervallo di ricerca Il metodo consiste nella valutazione (simultanea) della funzione obiettivo in un determinato numero di punti distribuiti uniformemente nellintervallo (x s, x f ) e riducendo intervallo di incertezza usando lassunzione di unimodalità

15 10 marzo 2010MOSPE15 Metodo di bisezione (dicotomico) Nel metodo di bisezione esattamente la metà dellintervallo corrente viene scartata in ogni iterazione Il metodo richiede tre punti iniziali e due punti sperimentali in ogni iterazione della procedura

16 10 marzo 2010MOSPE16 Algoritmo 1.Suddivisione dellintervallo di incertezza L 0 =[a,b] in 4 parti uguali, con x 0 al centro 2.Valutazione della funzione obiettivo f nei punti x 0, x 1,x 2 3.Se: a)f(x 2 )>f(x 0 )>f(x 1 ) cancella [x 0,b] e sostituisci x 0 = x 1 e b=x 0 b)f(x 2 )f(x 0 ) e f(x 2 )> f(x 0 ) cancella [a,x 1 ] e [x 2,b] e sostituisci a=x 1 e b=x 2 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

17 10 marzo 2010MOSPE17 Esempio numerco di metodo di bisezione Trovare il minimo della funzione f=x(x-1.5) nellintervallo [0,1] con epsilon=0.1 e epsilon=0.01

18 10 marzo 2010MOSPE18 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 luso del metodo: –Lintervallo 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 allinizio della procedura

19 10 marzo 2010MOSPE19 Numeri di Fibonacci Il metodo usa la sequenza di numeri di Fibonacci F n, definiti tramite la relazione ricorsiva: F 0 =F 1 =1 F n =F n-1 +F n-2 n=2,3,4,… che determina la successione: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144,… Lalgoritmo 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, allinterno del quale si colloca la soluzione ottimale.

20 10 marzo 2010MOSPE20 Algoritmo (1) 1.Inizializzazione con due punti di tentativo x 1 e x 2 posti a distanza L 2 *=F n- 2 /F n ·L 0 dagli estremi dellintervallo L 0 =[a,b] dove n è il numero totale di valutazioni: x 1 =a+ L 2 *=a+ F n-2 /F n ·L 0 x 2 =b-L 2 *=b- F n-2 /F n ·L 0 =a+ F n-1 /F n ·L 0 (se un punto è posto alla distanza F n-2 /F n ·L 0 da un estremo dellintervallo, sarà posto alla distanza F n-1 /F n ·L 0 dallaltro estremo) 2.Sulla base di assunzione di unimodalità una parte dellintervallo viene scartata; il rimanente intervallo di incertezza ha lunghezza L 2 definita: L 2 =L 0 -L 2 *=L 0 (1-F n-2 /F n )= F n-1 /F n ·L 0 e contiene uno dei punti di tentativo alla distanza: L 2 *= F n-2 /F n ·L 0 = F n-2 /F n-1 ·L 2 da un lato e L 2 -L 2 *= F n-3 /F n ·L 0 = F n-3 /F n-1 ·L 2 dallaltro lato dellintervallo L 2

21 10 marzo 2010MOSPE21 Algoritmo (2) 3.Si procede con il terzo tentativo x 3 nellintervallo L 2 alla distanza: L 3 *= F n-3 /F n ·L 0 = F n-3 /F n-1 ·L 2 da ogni lato dell intervallo L 2 4.Usando la condizione di unimodalità lintervallo di incertezza viene ridotto allintervallo L 3 : L 3 =L 2 -L 3 *=L 2 - F n-3 /F n-1 ·L 2 = F n-2 /F n-1 ·L 2 = F n-2 /F n ·L 0 5.Il processo viene continuato con: L j *= F n-j /F n-(j-2) ·L j-1 L j = F n-(j-1) /F n ·L 0 6.Dopo un numero di passi uguale a j il rapporto tra lintervallo determinato e quello residuo è uguale a: L j /L 0 = F n-(j-1) /F n 7.Per j=n abbiamo: L n /L 0 = F 1 /F n =1/F n

22 10 marzo 2010MOSPE22 Esempio numerico di metodo di Fibonacci Trova un minimo di f(x)=0.65- [0.75/(1+x 2 )]-0.65xtan -1 (1/x) su intervallo [0,3] usando n=6 n=6, L 0 =3 L 2 *=F n-2 /F n ·L 0 =5/13·3= x 1 = f(x 1 )= x 2 = = f(x 2 )= f(x 1 )f(x 3 ) [x 1, x 2 ] viene scartato (…..) x1x1 x2x2 L0L0 L2*L2*L2*L2* x3x3 L2L2

23 10 marzo 2010MOSPE23 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 allinizio 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: lim n F n-1 /F n =1/π dove π è una radice dellequazione x 2 =x+1 e costituisce la sezione aurea, già nota nellantica Grecia Nel metodo i punti iniziali x 1 e x 2 vengono scelti in corrispondenza di: L 2 *=F n-2 /F n ·L 0 =F n-2 /F n-1 ·F n-1 /F n ·L 0 =L 0 /π 1 2 =0.382L 0

24 Sezione aurea La sezione aurea, nell'ambito dellarte 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 2010MOSPE24

25 Arco di Traiano e sezione aurea 10 marzo 2010MOSPE25

26 Confronto dei metodi di eliminazione 10 marzo 2010MOSPE26 MetodoError: 1/2·L n /L 0 <=0.1Error: 1/2·L n /L 0 <=0.01 Ricerca esaustivan>=9n>=99 Metodo di bisezionen>=7n>=13 Metodo di Fibonaccin>=4n>=9 Metodo della sezione aurean>=5n>=10

27 Metodo di Fibonacci – sviluppo dellalgoritmo in Matlab 10 marzo 2010MOSPE27

28 10 marzo 2010MOSPE28 Ricerca diretta di radici Metodo di Newton Metodo quasi Newtoniano Metodo della secante

29 Convergenza (1) Convergenza (def. 1): La sequenza x i delle iterazioni converge alla soluzione α se: Convergenza (def. 2): La sequenza x i delle iterazioni converge alla soluzione α se, dato un ε>0 qualsiasi, esiste un intero n 0 tale per cui con n n 0 si ha: Convergenza lineare: La sequenza x i delle iterazioni converge linearmente alla soluzione α se esiste una costante c con 0

30 Convergenza (2) Convergenza superlineare: La sequenza x i delle iterazioni converge superlinearmente alla soluzione α se, per qualche sequenza c n che converge a 0, esiste un intero n 0 tali per cui: Convergenza di ordine p: La sequenza x i 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 2010MOSPE30


Scaricare ppt "10 marzo 2010MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una."

Presentazioni simili


Annunci Google