• Non ci sono risultati.

ALGORITMI DI OTTIMIZZAZIONE MONO E MULTI OBIETTIVO

N/A
N/A
Protected

Academic year: 2022

Condividi "ALGORITMI DI OTTIMIZZAZIONE MONO E MULTI OBIETTIVO"

Copied!
69
0
0

Testo completo

(1)

ALGORITMI DI

OTTIMIZZAZIONE MONO E MULTI

OBIETTIVO

(2)

In questi ultimi anni si è avuto un crescendo nell’utilizzo di algoritmi di ottimizzazione, in quanto durante il processo di progettazione, sta avendo sempre più importanza la fase di ottimizzazione.

Per questo motivo è stata creata una grande varietà di algoritmi, ognuno con le proprie caratteristiche, e quindi adatti a tipologie di ottimizzazione diverse tra loro.

In questa sezione verranno mostrati alcuni

algoritmi, facendo riferimento soprattutto

alle differenze tra loro e tra i loro campi di

applicazione più caratteristici.

(3)

Per riuscire a comprende meglio le differenze tra i vari algoritmi è utile dare due definizione che vengono usualmente usate per classificare gli algoritmi:

robustezza;

accuratezza.

(4)

Per robustezza di un algoritmo di ottimizzazione si intende la capacità di trovare il massimo assoluto della funzione obiettivo.

(5)

Per accuratezza di un algoritmo di ottimizzazione si intende la capacità di avvicinarsi al vero valore del massimo assoluto della funzione obiettivo

(6)

In base alle definizioni date precedentemente (robustezza, accuratezza, velocità di convergenza) e all’utilizzo o meno del gradiente della funzione obiettivo è possibile definire la seguente tabella:

r

f x = f K x

f xn ( 0) ( , , )

1

Algoritmi che usano il gradiente

Algoritmi che NON usano il gradiente

Robustezza Bassa Alta

Accuratezza Alta Bassa

Velocità di convergenza

Alta Bassa

(7)

r

= M

f x

f x f xn ( 0)

1

Valore locale (accuratezza ⇑, robustezza ⇓)

Dà la direzione di massimo incremento della funzione ⇒ velocità in convergenza

Necessita una notevole quantità di calcoli aggiuntivi (derivate parziali)

i

i i m

i i m

i X

i

m i

i m

i X

x

u x X

f u

x X

f x

f

x

X f u

x X

f x

f

m m

+

+

2

) (

) (

: centrate finite

Differenze

) (

) (

: avanti in

finite Differenze

(8)

Attenzione: non sempre è possibile definire il gradiente Variabili discrete o di categoria (parametrizzazione)

x F(x)

x* F(x*)

F’- F’+

Derivata sinistra diversa da derivata destra

(9)

Esiste una grande varietà di algoritmi di ottimizzazione che sfruttano il gradiente della funzione obiettivo (Cauchy, Powell, Newton, Quasi-Newton, BFGS, SQP, ecc.).

Le caratteristiche più interessante che accomuna questi metodi è l’accuratezza della soluzione trovata.

Noi studieremo:

CauchyNewton

Quasi-Newton (Broyden-Fletcher-Goldfarb-Shanno)Sequential Quadratic Programming

(10)

[ ]

i j j

i

n n n

n n

n

x x

f x

x f

x x

f x

x f

x x

f x

x f x x x f

x x f

x f

x f

f

=

=

=

=

=

=

=

2 2

2

1 2

1 2

1 1

2

*

* 2

* 1

*

Simmetrica

hessiana Matrice

: e sufficient Condizione

0 ) ( )

( )

(

0 ) (

: : necessaria Condizione

K

M O

M

K K

H

[ ]

=

sella indefinita

relativo Massimo

negativa definita

relativo Minimo

positiva definita

) (x* H

positivi sono

autovalori gli

tutti

0

se positiva definita

è matrice Una

=

− I A

A λ

(11)

LAGRANGE DI

TORI MOLTIPLICA

dei utilizzo

, ,

1 0

) (

: Min

a uguaglianz di

Vincoli

m j

x g

f

j

n

= K

=

⇒ ℜ ℜ

Esempio n=2 m=1 MIN f(x1,x2)

g(x1,x2)=0

x1

x2 g=0

Direzioni ammissibili Direzione non

ammissibile

x1* x2*

(12)

necessaria condizione

0 / 0

/

univoco è

scelto cioè

) , (

) , (

0 ) , ( se

) , ( in 0

) , ( )

, (

0 )

, ( )

, ( )

, (

0 ) ,

(

: che tale e ammissibil direzione

esiste

0

*

*

1 2 2

1

1 2

2 1 1

2 1 1

* 2

* 1 2

* 2

* 1 1 2

* 2

* 1 2

* 2

* 1 2

* 2

* 1 2 1

* 2

* 1 1

2

* 2

* 1 2 1

* 2

* 1 1

* 2

* 1

2

* 2 1

* 1

2 2 1

1

 =



 =



=

=

= +

=

= +

+

= +

+

= +

=

x

x

x g x

f x

g x

f

x dx f x g

x g x

df f

dx dx dx

x x x

g

x x x

g dx

x x x

g

x x dx

x x x

dx g x

x x dg g

dx x

x x dx g

x x x

x g x g

dx x

dx x

g

x dx dx f

x df f

(13)

=

=

= +

=

= +

=

+

=

=

= +

= +





=

 =



=

0

0 0 ) , ( )

, , (

LAGRANGE DI

FUNZIONE 0 ) , (

0 0

Lagrange di

tore moltiplica /

/ / 0 /

0 ) , ( )

, ( MIN

2 2

2

1 1

1

2 1 2

1

2 1

2 2

1 1

2 2

1 2 2 1

2 1 2

1

*

*

L g

x g x

f x

L

x g x

f x

L

x x f x

x L

x x g

x g x

f

x g x

f

x g

x f

x g x

g x f

x f

x x g x

x f

x x

λ

λ λ

λ λ

λ λ λ

(14)

∑∑

= =

=

=



⇒ ⇒

= ∂





=

∂ =

∂ = + ∂

= ∂

+

=

=

=

⇒ ℜ ℜ

n

i

n

j

j i j

i

j m

j

j m

j

j j m

n j

n

dx x dx

x Q L

L g

x g x

f x

L

x g

x f x

x L

m j

x g

f

1 1

2

1 1

1 1 1

1

1 1

1

massimo negativa

definita

minimo positiva

definita e

sufficient condizione

0

0 necessaria

condizione

) ( )

( )

, ,

, , ,

(

, ,

1 0

) (

: MIN

M M K

K

K

λ

λ λ

λ λ

(15)

Interpretazione moltiplicatori di Lagrange

db df

dx df x db f

x f

x g

x g x

f x

g x

f

x dx g g

d db

g d db

g

n x i

g x

f

x g b x

g

b x

g x

f

i i n

i

i i

i i

i i

n

i

i i i

i

n

*

*

1

1

ottimo di

punto nel

quindi e

1

~ /

0

~

~ ~

~ 0

, , 1 0

0 )

~( )

(

)

~( :

) ( MIN

λ

λ λ

λ

λ λ

λ

=

=

=

=

=

=

+

=

=

=

=

=

= +

=

=

=

=

=

K

Ciò significa che il moltiplicatore di Lagrange è un indicatore della sensibilità del punto di ottimo dei confronti del vincolo di uguaglianza

(16)

Vincoli di disuguaglianza

Anch’essi possono essere risolti con l’utilizzo dei moltiplicatori di Lagrange.

=

=

=

=

= +

=

=

= +

=

+

=

= +

=

=

=

=

m j

y y

y x L

m j

y x

g y

x G y

L x

n i

x x x g

x y f

x x L

y x G x

f y

x L

y x

g y

x G

m j

x g

x f

j j j

j j

j j

i j m

j j i

i

m

j

j j j j

j j

n

, , 1 0

2 ) , , (

, , 1 0

) ( )

, ( )

, , (

, , 1 )

( )

( )

, , (

) , ( )

( )

, , (

0 )

( )

, (

in re trasforma può

si vincolo il

, , 1 0

) (

: ) ( MIN

2 1

1 2

K

K K K

λ λ

λ λ

λ λ

λ λ

(17)

Interpretazione dei moltiplicatori di Lagrange (caso vincoli disuguaglianza)

0 0

2 1

<

<

g 0 g

1 =

g g2 = 0

1 > 0

g g2 > 0

g

1

∇ ∇ g

2

S

vincoli) dei

e diminuzion la

(mi

consentita direzione

0 0 vincoli 2

0

2 1

2 2

1 1

2 2

1 1



<

<

+

=

+

+

=

+

g S

g S

g S

g S

f S

g g

f

g f

T T

T T

T T

λ λ

λ λ

λ

Ciò significa che se i moltiplicatori sono maggiori di 0 non c’è nessuna direzione consentita per far diminuire la funzione all’interno dei vincoli (minori di zero)

(18)

Condizioni di Kuhn-Tucker (condizione necessaria)

 

 

=

=

=

∇ +

=

=

=

⇒ ℜ ℜ

0 0 0

0

0 ,

, 1 0

) (

, ,

1 0

) (

: ) ( MIN

j k

j j j

T T

k j

n

h g

g

h g

f

p k

x h

m j

x g

x f

λ λ

β λ

K

K

(19)

x0

f(xi)

∇∇

∇ f(xi)

Algoritmo (xi+1)

Convergenza?

i=i+1

Si parte sempre da una soluzione conosciuta

4 3 1

2 1

1 1

max )

5 ) 4

) ( )

( )

3

) (

) ( )

) ( 2

) 1

a Convergenz

ε ε

ε ε

+ +

+

i i i

i i

i

i i

x f x x

x f x

f

x f

x f x

f

ntot i

(20)

Step ottimale lungo una direzione

( )

0 0

0 :

*

1

1

=

∂ =

= ∂

=

∂ +

= ∂

∂ =

⇒ ∂

∂ =

+

=

⇒ ℜ ℜ

=

=

i T ij

n

j j

ij ij

ij j

n

j

j j

i n

S f

x s f f

s s

x x

x x

f f

S x

x f

λ

λ

λ λ λ

λ λ

λ

s

xi

(21)

Algoritmo di Cauchy

Il metodo di Cauchy è uno degli algoritmi base che utilizzano il gradiente della funzione obiettivo.

i i

i i i

i

i i

S S

x x

x f S

x

r r r

r

r r

r

direzione la

lungo ottimale

passo

con

: punto nuovo

del calcolo

3) Punto

) ( direzione

della calcolo

2) Punto

partenza di

punto del

scelta

1) Punto

*

* 1

1

λ

λ +

=

=

+

(22)

ESEMPIO

0

2 . 1

8 . 0 1

1 5 1 1

1

5 1 1

2 5

) 1 , 1 ( ) (

1 1 2 Iterazione

0

1 1 1

1 1 0 0

1 2

) , ( ) (

1 1 1 ) 1

(

1 Iterazione

2 2

1

2 4

1 /

/

0 punto 0

dal partendo

2 2

) , ( MIN

3

2

* 2 2 3

* 2 2

2 2 2

2 2

2 2

2 2

2

1

* 1 1 2

* 1 1

2 1 1 1 1

1 1

1 1

1

2 1

2 1

2 1

1

2 2 2 1 2

1 2

1 2 1

=−

+

=−

+

=

=

= +

+

= +

=

−∇

=

=−

+ −

= +

=

=

=

= +

=−

−∇

=

=

+ +

+

= +

=

=

+ +

+

=

f

S x

x

f S

x f

f S

f

S x

x

f S x

f

f S

x f

x x

x x

x f

x f f

x

x x x x

x x x

x f

λ

λ λ

λ λ

λ λ

λ

λ λ

λ λ λ λ

2 0 . 0

2 . 0

4 . 1

1 2

. 0

2 . 1 0 2 . 1

8 . 0

2 . 1 08 . 0 04 . 0 ) 2 . 0 2 . 1 , 2 . 0 8 . 0 ( ) (

2 . 0

2 . 0 3 Iterazione

4

3

* 3 3 4

* 3 3

2 3 3

3 3

3 3

3 3

=

=−

+ −

=−

+

=

=

= +

+

= +

=−

−∇

=

f

S x

x

f S x

f

f S

λ

λ λ

λ λ

λ λ

(23)

Algoritmo del gradiente coniugato (Fletcher-Reeeves)

Ottimizza una forma quadratiche di ordine n in n steps (meglio che Cauchy)

( )

[ ]

1 1

1 1 1

1 1

* 1 1

* 1 1

* 1 1

1 1

* 1

1 2

1

1

* 1 1

2

1 1

1

) (

do esplicitan

0 quindi

0

: valere deve

ideale step

lo vogliamo quando

2 ) 1 (

2

S S

f S S

S

B x

S

B S

x S

f S

x S x

S x

x

B x

f S

c x B x

x x

f

T T T

T T

x T

n T

T

A A

A A

A A

+ =

=

= +

+

=

=

+

=

=

−∇

=

+ +

=

λ

λ λ λ

λ

(24)

( )

( ) ( )

( )

1 1

2 2

1 1

2 2

2

2 1

2 1

1 1 2 1

2 2 2

1 2

2

1 2 2

1 2

1 2

1 2

1 2

1 2

* 2 1

1 2

1 2 2

1

2 1

2 1 2

1 2 2

2

0 poichè

0 0

) (

) simmetrica (A

1 Eq.

do consideran

) (

) (

) (

: come calcolata

essere può

gradienti i

tra differenza La

) 1 ( 0

0 0

coniugate siano

, affinchè scelgo

f f

f f

S f

f f

f S

f f

S f S

f f

f f

f

S f

f f

x x

B x

B x

f f

S x f

x

S f

S

S S

S S S

f S

T T T

T T T

T T

T T

T T T

T

=

=

=

=

=

+

=

= +

+

=

=

= +

= +

−∇

=

β

β β

β λ β

β β

β

A A

A A A

A

(25)

1 1

1 2

2

3 3

3 3

3 2

3 1

3 3

1 3 2

3 3

3

ricorsiva formula

la trovare può

si a conseguenz di

0

: come vede

si

0 0

: ) (coniugate imponendo

i determinat vengono

,

=

+

−∇

=

=

=

=

=

+ +

−∇

=

i T

i

i T i i

i i i

i

T T T

T

f f

f f

S f

S

f f

f f

S S

S S

S S

f S

β

β β

σ σ β

σ β

A A

(26)

1. Scelta del punto iniziale X

1

2. Calcolo della prima direzione S

1

3. Calcolo del punto X

2

:

4. Calcolo della direzione S

i

5. Calcolo del nuovo punti X

i+1

6. Convergenza?

1 1

1

f ( x ) f

S = −∇ = −∇

1

* 1 1

2

x S

x = + λ

2 1 1

2

+ ∇

−∇

= i

i i i

i S

f f f

S

i i i

i

x S

x

+1

= + λ

*

(27)

Considerazioni:

1)La metodologia gradiente coniugata ha una velocità di convergenza maggiore rispetto la metodologia Cauchy (forma quadratica di grado n viene ottimizzata in n steps);

2)Poiché la ricerca dello step ottimale avviene per

via numerica bisogna fare un restart del calcolo

della direzione ogni determinato numero di

iterazioni (S=-∇f)

Riferimenti

Documenti correlati

a) How are the rights and freedoms of third country nationals legally residing in a Member State impacted by the EU legal migration acquis and policy? When answering this

Recommendation 1: Projects can be evaluated against different time horizons and these horizon options affect the relative net present values of projects; A single reference point

Theoretical tides have been generated using a software which calculates the areal deformations (the same kind of superposition of components of the strain tensor measured by the

La scelta finale è ricaduta sul circuito di alimentazione ad induzione in quanto le batterie del satellite necessarie per il motore e per gli altri sottosistemi di

Il mio lavoro costituisce un primo tentativo per tematizzare il “Giardino dei Giusti” di Lugano attraverso delle bibliografie tematiche. Con una maggiore disponibilità

1)Al momento dell'inserzione del catetere. L'uretra è, infatti, nornalmente colonizzata, soprattutto nella parte distale. L'inserzione del catetere può provocare la risalita di germi

The notion of slice-regularity, recently intro- duced by Gentili and Struppa (Adv. 216:279–301, 2007), for functions in the non-commutative division algebra H of quaternions

f) promozione e coordinamento dei sistemi di informatizzazione e di digitalizzazione in ambito metropolitano. Due innovazioni funzionali meritano di essere sottolineate: il