La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una variabile maggio.

Presentazioni simili


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

1 MOSPE1 Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una variabile maggio '11

2 MOSPE2 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 maggio '11MOSPE3 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 maggio '11MOSPE4 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 maggio '11MOSPE5 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 maggio '11MOSPE6 Funzione unimodale vs funzione multimodale

7 maggio '11MOSPE7 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 maggio '11MOSPE8 Esempio di ricerca non limitata con passo fisso

9 maggio '11MOSPE9 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 maggio '11MOSPE10 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 maggio '11MOSPE11 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 maggio '11MOSPE12 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 maggio '11MOSPE13 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 maggio '11MOSPE14 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 maggio '11MOSPE15 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 maggio '11MOSPE16 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 maggio '11MOSPE17 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 maggio '11MOSPE18 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 maggio '11MOSPE19 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 maggio '11MOSPE20 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 maggio '11MOSPE21 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 maggio '11MOSPE22 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 maggio '11MOSPE23 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) maggio '11MOSPE24

25 Arco di Traiano e sezione aurea maggio '11MOSPE25

26 Confronto dei metodi di eliminazione maggio '11MOSPE26 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 maggio '11MOSPE27

28 maggio '11MOSPE28 Ricerca diretta di radici (libro) Metodo di Newton Metodo quasi Newtoniano Metodo della secante Metodo di Newton generalizzato

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. maggio '11MOSPE30

31 Osserviamo che: fornisce lequazione della retta tangente alla curva (x,f(x)) nel punto x (k). Metodo di Newton (1) maggio '11MOSPE31

32 Metodo di Newton (2) maggio '11MOSPE32

33 Metodo di Newton (3) maggio '11MOSPE33 Il processo iterativo può essere arrestato quando:

34 Arresto del metodo di Newton Il residuo fornisce una stima accurata dellerrore solo quando la funzione f ha andamento pressoché lineare in un intorno della soluzione. maggio '11MOSPE34

35 Divergenza del metodo di Newton maggio '11MOSPE35

36 Approssimazione delle derivate (1) Consideriamo una funzione f:[a,b] R che sia derivabile con continuità in [a,b]. Vogliamo approssimarne la derivata prima in un generico punto x di (a,b). Per h sufficientemente piccolo e positivo, la quantità: che viene detta differenza finita in avanti, rappresenti una approssimazione di f(x). maggio '11MOSPE36

37 Approssimazione delle derivate (2) Per quantificare lerrore commesso, consideriamo lo sviluppo di Taylor al secondordine di f in un intorno destro di x di ampiezza h>0. Avremo: dove è un punto in (x,x+h). Pertanto: e quindi approssima f(x) a meno di un errore che tende a 0 come h (cioè approssimante è accurato al primordine) maggio '11MOSPE37

38 Approssimazione delle derivate (3) In maniere analoga possiamo ottenere la seguente formula, detta differenza finita allindietro: sempre accurata di ordine 1. Introduciamo infine la formula della differenza finta centrale: che è unapprossimazione del secondordine di f(x) rispetto a h. maggio '11MOSPE38

39 Approssimazione delle derivate (4) La quantità: fornisce una approssimazione di f(x) di ordine 2 rispetto a h. maggio '11MOSPE39

40 Metodo quasi Newtoniano (1) maggio '11MOSPE40 k k kkk

41 Metodo quasi Newtoniano (2) maggio '11MOSPE41

42 Metodo della secante (1) maggio '11MOSPE42

43 Metodo della secante (2) maggio '11MOSPE43

44 Metodo della secante (3) maggio '11MOSPE44

45 Esempio I (1) maggio '11MOSPE45

46 Esempio I (2) maggio '11MOSPE46

47 Esempio I (3) maggio '11MOSPE47

48 Esempio I (4) maggio '11MOSPE48

49 Esempio II (1) maggio '11MOSPE49

50 Esempio II (2) maggio '11MOSPE50

51 Esempio II (3) maggio '11MOSPE51

52 Esempio II (4) maggio '11MOSPE52

53 Esempio II (4) maggio '11MOSPE53

54 Esempio II (5) maggio '11MOSPE54

55 Metodo di Newton generalizzato (1) Abbiamo visto che: consente di approssimare lo zero di f(x) con una successione di valori x (k) a partire da un dato iniziale x (0). Il metodo si può estendere per una funzione di n variabili: maggio '11MOSPE55

56 Metodo di Newton generalizzato (2) Si ha: dove f(x) è il vettore definito come: con componenti f i (x), i=1,…,n e H(x) la matrice Hessiana di cui elementi (i,j) sono definiti come: maggio '11MOSPE56


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

Presentazioni simili


Annunci Google