Ottimizzazione Continua
Ottimizzazione Continua
Ottimizzazione Continua
OTTIMIZZAZIONE CONTINUA
Stefano Lucidi
2
3
Indice
1
2.5.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2.5.2 Metodi di programmazione quadratica ricorsiva . . . . . . . . . . 69
2.5.3 Funzioni di penalità . . . . . . . . . . . . . . . . . . . . . . . . . 72
2
Notazioni
Rn spazio dei vettori x a n componenti reali;
3
Capitolo 1
Problemi di Ottimizzazione
Nonlineare
1.1 Introduzione
Un problema di ottimizzazione consiste nel cercare di determinare dei punti apparte-
nenti ad un insieme F in cui una funzione f assume valori più bassi possibile. Tale
problema viene rappresentato nella forma:
dove
- la funzione f : F → R è detta funzione obiettivo;
- l’insieme F ⊆ Rn è detto insieme ammissibile.
4
Definizione 1.1.3 Un punto x⋆ ∈ F si dice punto di minimo locale di f su F se esiste
un intorno B(x⋆ ; ρ), con ρ > 0 tale che
che è equivalente a:
−f (x⋆ ) ≤ −f (x), per ogni x ∈ F,
da cui segue che x⋆ è anche un punto di minimo del problema
min −f (x)
x∈F
e risulta:
max f (x) = − min(−f (x)).
x∈F x∈F
La natura del Problema (1.1) e, quindi, la sua difficoltà di risoluzione dipendono, ov-
viamente, dalle caratteristiche della funzione obiettivo e dalla struttura dell’insieme
ammissibile. Usualmente un problema di ottimizzazione viene caratterizzato dal fatto
che si abbia completa libertà o meno nella scelta del vettore x, infatti:
5
Tuttavia, può essere considerato come un problema di minimizzazione non vincolato
anche un qualsiasi problema in cui l’insieme ammissibile F è un insieme aperto. In-
fatti, come nel caso in cui F = Rn , i punti di minimo del problema possono essere
caratterizzati esclusivamente dall’andamento della funzione obiettivo in un intorno del
punto e non dal fatto che ci siano dei vincoli sulle variabili del problema. Perciò, per i
problemi in cui l’insieme ammissibile è un insieme aperto, si adattano facilmente tutti
i risultati e metodi proposti per il caso in cui F = Rn .
Tra i problemi vincolati in cui F è un insieme chiuso, la classe più comunemente
considerata è quella in cui F è descritto attraverso un insieme finito di vincoli di
eguaglianza e diseguaglianza:
Nei paragrafi successivi, dopo aver richiamato le condizioni di esistenza delle solu-
zioni del Problema 1.1, vengono descritte alcune condizioni che cercano di dare delle
caratterizzazioni di tali soluzioni.
Una condizione sufficiente (ma non necessaria) per l’esistenza di un punto di minimo
globale di un problema di ottimizzazione è quella espressa dalla proposizione seguente,
che segue dal ben noto Teorema di Weierstrass.
6
La precedente proposizione si applica solamente alla classe dei problemi vincolati in cui
l’insieme ammissibile è compatto. Per poter stabilire risultati di esistenza per problemi
con insiemi ammissibili non compatti (in particolare nel caso in cui F = Rn ) è necessario
cercare di caratterizzare un qualche sottoinsieme di F contenente le soluzioni ottime
del problema.
A questo fine si introduce la definizione seguente.
L(α) := {x ∈ F : f (x) ≤ α} ,
in cui α ∈ R.
A questo punto, si può enunciare il risultato seguente che stabilisce una condizione
sufficiente per l’esistenza di soluzioni globali di un problema di ottimizzazione facendo
riferimento alla struttura degli insiemi di livello della funzione.
Nel caso generale, stabilire l’esistenza di un insieme di livello compatto può essere diffi-
cile. Tuttavia, in molti casi, si possono ottenere delle semplici condizioni per assicurare
che tutti gli insiemi di livello siano compatti. In particolare la proposizione successi-
va fornisce una condizione necessaria e sufficiente (nota come condizione di coercività)
perchè gli insiemi di livello di f su F siano compatti.
(i) se {xk } è una sequenza di punti xk ∈ F tale che limk→∞ kxk k = ∞ allora segue
che
lim f (xk ) = ∞;
k→∞
7
Le Proposizioni 1.2.3 and 1.2.4 forniscono delle condizioni sufficienti per l’esistenza delle
soluzioni di un problema di minimizzazione in cui l’insieme ammissibile F è un insieme
aperto. In particolare si possono considerare due casi particolari che corrispondono alle
situazioni di maggiore interesse.
Il primo dei due casi è quello in cui F = Rn .
Proposizione 1.2.5 Sia f una funzione continua su Rn e si assuma che f sia coerciva
su Rn , ossia che
lim f (xk ) = ∞,
k→∞
per ogni successione {xk }, con xk ∈ Rn , tale che limk→∞ kxk k = ∞. Allora si ha:
Il secondo caso è quello in cui F è un insieme limitato e aperto tale che f tende
all’infinito al tendere verso la frontiera di F. Per questo caso è possibile stabilire la
seguente condizione la cui prova è simile a quella della precedente proposizione.
lim f (xk ) = ∞,
k→∞
per ogni successione {xk }, con xk ∈ F, tale che limk→∞ xk = x̂ ∈ ∂F. Allora si ha:
8
1.3.1 Condizioni di ottimalità per problemi nonvincolati
Proposizione 1.3.2 (Condizioni necessarie del secondo ordine) Sia f due volte
continuamente differenziabile e sia x̄ ∈ Rn un punto di minimo locale (globale) del
Problema (1.2). Allora
∇f (x̄) = 0, (1.6)
T 2 n
d ∇ f (x̄)d ≥ 0, per ogni d∈R . (1.7)
∇f (x̄) = 0
Perciò, da quanto detto, si ha che un punto di minimo locale (globale) del Problema
(1.2) è necessariamente un punto stazionario del Problema (1.2).
con λ ∈ Rm e µ ∈ Rq .
9
Le prossime proposizioni descrivono le due condizioni necessarie di ottimalità maggior-
maente usate nell’ambito di problemi di ottimizzazione vincolati non lineari. Entrambe
queste condizioni di ottimalità possono essere stabilite solamente nel caso che l’insieme
ammissibile sia “sufficientemente regolare”. Un modo per assicurare questa regolarità
è quello di richiedere la seguente assunzione.
Assunzione 1.3.1 In ogni punto x ∈ F i gradienti ∇gi (x), i ∈ {i′ : gi′ (x) = 0}, e
∇hj (x), j = 1, . . . , q, sono linearmente indipendenti.
Utilizzando la precedente assunzione si possono enuciare le seguenti proposizioni.
Proposizione 1.3.5 (Condizioni di Kuhn-Tucker) Siano le funzioni f , gi , i =
1, . . . , m, hj , j = 1, . . . , q continuamente differenziabile e si supponga che Assunzione
1.3.1 sia verificata. Se x̄ ∈ Rn è un punto di minimo locale (globale) del Problema (1.3)
allora esistono dei vettori λ̄ ∈ Rm e µ̄ ∈ Rq tali che:
∇x L(x̄, λ̄, µ̄) = 0,
g(x̄) ≤ 0, h(x̄) = 0, (1.8)
λ̄i ≥ 0, gi (x̄)λ̄i = 0, i = 1, . . . , m.
10
1.4 Problemi particolari di Ottimizzazione
αx + (1 − α)y ∈ C.
11
(ii) f è strettamente convessa su C se e solamente se per ogni x, y ∈ C, con x 6= y,
si ha:
f (y) − f (x) > ∇f (x)T (y − x).
Le Proprietà (i) e (ii) sono particolarmente significative, come si vedrà in seguito, per
lo studio dei punti di minimo di questa classe particolare di funzioni. Le Proprietà (iii)
e (iv) sono delle utili condizioni per identificare la convessità di una funzione.
Analogamente al caso di funzioni convesse si può stabilire la seguente proposizione che
fornisce un aiuto a riconoscere le funzioni concave.
12
Definizione 1.4.6 Si definisce problema di programmazione convessa un problema di
minimizzazione del tipo:
min f (x)
x∈F
max f (x)
x∈F
min f (x)
gi (x) ≤ 0, i = 1, . . . , m (1.11)
aTj x − bj = 0 j = 1, . . . , q.
13
1.4.2 Problemi di programmazione concava
Un’altra classe di problemi di minimizzazione particolarmente importante è quella dei
problemi di programmazione concava. Infatti questi particolari problemi di ottimizza-
zione sono in grado di modellizzare numerosi problemi che nascono nel campo dell’e-
conomia. Inoltre è possibile dimostrare che, sotto opportune ipotesi, molti problemi
di ottimizzazione combinatoria possono essere trasformati in problemi (continui) di
programmazione concava.
Si definisce problema di programmazione concava un problema di minimizzazione del
tipo:
min f (x)
x∈F
in cui F è un insieme convesso e f è una funzione concava su F o, equivalentemente,
un problema di massimizzazione del tipo:
max f (x)
x∈F
Nel caso di minimizzazione di funzioni concave con vincoli lineari, vale un risulta-
to simile al Teorema Fondamentale della Programmazione Lineare. Infatti ripetendo
argomenti simili a quelli utilizzati nel Teorema Fondamentale della Programmazione
Lineare si ha il seguente teorema.
14
Questo risultato mostra che, come nel caso dei problemi programmazione lineare, la
ricerca di un minimo globale di una funzione concava su un simplesso si può ridurre al
problema di minimizzare la funzione sull’insieme dei vertici del poliedro F. Tuttavia,
la nonlinearità della funzione obiettivo non permette di definire un algoritmo, analogo
al Metodo del Simplesso per la Programmazione Lineare, che sia in grado di identificare
efficientemente i vertici più promettenti trascurando gia altri.
Spesso, in letteratura, insiemi che soddisfano all’Assunzione 1.5.1 vengono detti insiemi
robusti.
Si può notare che la relazione (1.12) implica che un insieme robusto F gode della
seguente proprietà:
comunque scelti x̄ ∈ F e ε̄ > 0 esiste un punto x̃ tale che x̃ ∈ B(x̄, ε̄) ∩ Int(F).
Cioè in ogni intorno di un punto appartenente ad un insieme robusto esiste un punto
interno all’insieme stesso. Questo, per esempio, esclude che l’insieme contenga punti
isolati.
Nella figura (1.1) è riportato un esempio di un insieme che non soddisfa la relazione
(1.12).
Teorema 1.5.1 Sia F ⊂ Rn un insieme che soddisfa l’Assunzione 1.5.1 e sia f una
funzione continua su F. Un punto x⋆ ∈ F è un minimo globale di f su F se e solamente
se l’insieme di livello L∗ := {x ∈ F : f (x) < f (x⋆ )} ha misura (di Lebesgue) nulla, cioè
meas(L∗ ) = 0.
15
F =
Int (F ) = F ≠ Cl ( Int ( F ))
Cl ( Int ( F )) =
Prova. Si assuma, per assundo, che meas(L∗ ) = 0 e che x⋆ non sia un minimo globale
di f su F. Se x⋆ non fosse un minimo globale esisterebbe un punto x̄ ∈ F tale che
Perciò esisterebbe un ε̃ > 0 tale che l’intorno B(x̃, ε̃) di x̃ sarebbe strettamente conte-
nuto nell’insieme ammissibile F e che, per ogni x′ ∈ B(x̃, ε̃), si avrebbe:
B(x̃, ε̃) ⊂ L∗ ,
16
da cui si avrebbe l’assurdo
meas(L∗ ) > 0
Nella figura (1.2) sono riportati due esempi di insiemi L∗ : il primo esempio si riferisce
al caso in cui il punto x∗ non è un minimo globale, il secondo invece descrive il caso in
cui il punto x∗ è il minimo globale della funzione.
Il precedende risultato è significativo dal punto di vista teorico. Infatti, descrivendo una
condizione necessaria e sufficiente perchè un punto sia un minimo globale, caraterizza
perfettamente le soluzioni del Problema 1.1. Tuttavia esso ha un utilizzo limitato dal
punto di vista applicativo. Infatti la determinazione della misura di un insieme n
dimensionale ha un costo computazionale proibitivo e, quindi, il precedente teorema
fornisce uno scarso aiuto dal punto vista metodologico.
iii) se f˜(x) è una funzione convessa su F tale che f˜(x) ≤ f (x) per ogni x ∈ F, allora
si ha che f˜(x) ≤ co(f (x)) per ogni x ∈ F.
Dalla precedente definizione segue che la funzione co(f (x)) è la migliore sottostima
convessa della funzione f (x).
La funzione co(f (x)) presenta interessanti proprietà alcune di queste descritte nella
seguente proposizione.
17
f ( x)
f (x )
*
x*
{ x ∈ F : f (x ) < }
f ( x* ) ≠ φ
f ( x)
f (x ) *
x*
{ x ∈ F : f (x ) < }
f ( x* ) = φ
Figura 1.2: Insiemi L∗ nel caso in cui x∗ non è minimo globale e nel caso che x∗ è minimo
globale.
18
Proposizione 1.5.3 Sia F ⊂ Rn un insieme convesso non vuoto e compatto, sia f una
funzione continua su F. Allora ogni minimo globale di f (x) su F è anche un minimo
globale di co(f (x)) su F ed il valore ottimo di f (x) coincide con quello di co(f (x)).
Prova (la prova non fa parte del programma di esame). Sia x⋆ ∈ F un minimo
globale di f (x) su F. Per la proprietà ii) della Definizione 1.5.2 si ha:
sarebbe una funzione convessa (in quanto il massimo di due funzioni convesse) tale che
f˜(x) 6= co(f (x)) e
Questo, però, contraddirebbe la proprietà iii) della Definizione 1.5.2. Perciò si deve
avere necessariamente che:
Utilizzando la (1.13), la definizione della funzione f˜(x) e la proprietà iii) della Defini-
zione 1.5.2, si ottiene che:
che implica che il punto x⋆ è anche un minimo globale della funzione co(f (x)) su F.
Infine la (1.13) assicura anche che i valori ottimi della funzione f (x) e della funzione
co(f (x) su F coincidono.
La funzione co(f (x)) può essere utilizzata per dare una ulteriore caratterizzazione dei
minimi globali non vincolati di una funzione continuamente differenziabile.
i) ∇f (x⋆ ) = 0;
Dai precedenti risultati emerge che la funzione co(f (x)) potrebbe avere un ruolo si-
gnificativo nella definizione di metodi di ottimizzazione globale. Purtroppo la sua
utilizzazione è limitata per il fatto che, per problemi generali, non si ha una sua rap-
presentazione semplice. Infatti nel caso in cui la funzione f (x) sia continua su Rn
19
f ( x)
co ( f ( x ))
x*
e soddisfi ipotesi ragionevoli (al più il fatto che la funzione f (x) sia coercitiva, cioè
limkxk→∞ f (x) = ∞) si possono dare le seguenti espressioni equivalenti della funzione
co(f (x)):
co(f (x)) = sup aT x − b : a ∈ Rn , b ∈ R, aT x̃ − b ≤ f (x̃) ∀x̃ ∈ Rn , (1.14)
n+1 n+1 n+1
n
X X X
co(f (x)) = inf αi f (xi ) : xi ∈ R , αi ∈ R+ , αi = 1, αi xi = x (1.15)
,
i=1 i=1 i=1
co(f (x)) = sup pT x − sup pT x̃ − f (x̃) . (1.16)
p x̃
La (1.14) mostra che in ogni punto la funzione co(f (x)) è costituita dall’estremo
superiore delle funzioni lineari che sottostimano la funzione f (x).
La (1.15) mostra, invece, che il valore della funzione co(f (x)) nel punto x è dato dall’e-
stremo inferiore di particolari combinazioni dei valori della funzione obiettivo calcolati
nei punti di vertice di simplessi contenenti il punto x. I coefficenti di tali combinazione
sono dati dai pesi che permettono di rappresentare il punto x in funzione dei vertici del
simplesso considerato.
Infine la (1.16) mostra che la funzione co(f (x)) coincide con la funzione coniugata della
funzione coniugata della f (x). Infatti la funzione coniugata di f (x) è definita da:
∗ T
f (p) = sup p x − f (x) ,
x
20
mentre la funzione coniugata di f ∗ (p) è data da:
∗∗ T ∗
f (x) = sup p x − f (p) .
p
Prova. Per dimostrare il teorema basta provare che, per ogni i = 1, . . . , n, le sequenze
{φik } con Z
|xi − x⋆i |e−kf (x) dx
φik = F Z , (1.18)
e−kf (x) dx
F
sono tali che
lim φik = 0.
k→∞
Cioè si deve dimostrare che comunque scelto un ε > 0 esiste un indice kε tale che per
tutti gli indici k ≥ kε si ha:
φik ≤ ε. (1.19)
Per qualsiasi fissato ε > 0, sia Bε il seguente intorno aperto
ε
Bε = {x ∈ F : kx − x⋆ k < }.
2
Utilizzando questo intorno, si può riscrivere la (1.18) nella seguente maniera:
Z Z
|xi − x⋆i |e−kf (x) dx |xi − x⋆i |e−kf (x) dx
Bε F \Bε
φik = Z + Z . (1.20)
e−kf (x) dx e−kf (x) dx
F F
21
Per quanto riguarda il primo termine della sommatoria si ha, ricordando la definizione
di Bε : Z Z
|xi − x⋆i |e−kf (x) dx e−kf (x) dx
Bε ε Bε ε
Z ≤ Z ≤ . (1.21)
e−kf (x) dx 2 e−kf (x) dx 2
F F
Per quanto riguarda,invece, il secondo termine della somma in (1.20) può essere riscritto
nella seguente forma:
Z Z
⋆ ))
|xi − x⋆i |e−kf (x) dx |xi − x⋆i |e−k(f (x)−f (x dx
F \Bε F \Bε
Z = Z
⋆ ))
. (1.22)
e−kf (x) dx e−k(f (x)−f (x dx
F F
kx − x⋆ k ≤ M,
f (x) − f (x⋆ ) ≥ δ,
Wε ⊂ F, meas(Wε ) > 0,
δ
f (x) − f (x⋆ ) ≤ per tutti x ∈ Wε .
2
Utizzando questo sottoinsieme e la (1.23) si ottiene:
Z
|xi − x⋆i |e−kf (x) dx
F \Bε meas(F \ Bε )e−kδ meas(F \ Bε )e−k(δ/2)
Z ≤M Z ≤M , (1.24)
e−kf (x) dx e−k(δ/2) dx meas(Wε )
F Wε
da cui segue che esiste un indice kε tale che, per tutti gli indici k ≥ kε , si ha:
Z
|xi − x⋆i |e−kf (x) dx
F \Bε meas(F \ Bε )e−k(δ/2) ε
Z ≤M ≤ . (1.25)
e−kf (x) dx meas(Wε ) 2
F
22
1.6 Proprietà generali dei metodi di ottimizzazione glo-
bale
Come hanno mostrato le condizioni di ottimalità globale riportate nella sezione prece-
dente, i punti di minimo globale di un generico problema di ottimizzazione non sono
caratterizzabili matematicamente in modo semplice. Questo fatto rende difficile, da
punto di vista teorico, la definizione di algoritmi di ottimizzazione in grado di determi-
nare un punto di minimo globale. Infatti, la complessità delle condizioni di ottimalità
globale porta sia all’impossibilità di sfruttare dal punto di vista algoritmico il fatto che
un punto prodotto dall’algoritmo non è un minimo globale e sia alla difficoltà di definire
dei criteri di arresto efficienti, cioè relativamente semplici ed affidabili.
Per cercare di superare le precedenti difficoltà gli algoritmi proposti in letteratura
utilizzano due approcci differenti:
Gli algoritmi che utilizzano informazioni globali sono in grado di produrre sequenze di
punti che hanno interessanti proprietà di convergenza. Tuttavia essi richiedono o ipo-
tizzano la conoscenza di informazioni “a priori” sul problema da risolvere, per esempio:
la struttura particolare del problema come la convessità o la concavità, la costante di
Lipschitz della funzione obiettivo e dei vincoli, i limiti superiori sulle derivate prime o
seconde delle funzioni che descrivono il problema, valore ottimo della funzione obietti-
vo, il numero di minimi globali. Purtroppo tali informazioni globali sono difficilmente
disponibili nei problemi reali e questo, in qualche maniera, può limitare l’applicabilità
di questa classe di metodi.
Gli algoritmi che utilizzano informazioni locali fanno riferimento, invece, a grandezze
e quantità del problema di ottimizzazione facilmente ottenibili durante le iterazioni
dell’algoritmo, come, per esempio: i valori della funzione obiettivo e dei vincoli nei
vari punti prodotti dall’algoritmo stesso, i valori delle derivate delle funzioni che de-
scrivono il problema (se disponibili). Anche tutte le informazioni ottenibili da formule
ed espressioni che utilizzano e combinano le precedenti quantità sono di tipo locale.
Esempi di questo genere sono l’uso di formule di interpolazione o di estrapolazione, del
punto prodotto dall’algoritmo in cui si è ottenenuto il più basso valore della funzione
obiettivo, della massima pendenza della funzione obiettivo incontrata tra due punti.
Non richiedendo informazioni “a priori” sul problema, questa classe di metodi ha una
ampia applicabilità. Tuttavia, per cercare di avere una qualche proprietà di convergenza
verso minimi globali, questi metodi devono estrarre durante le loro iterazioni delle in-
formazioni sul comportamento globale della funzione obiettivo sull’insieme ammissibile
F. Questo viene fatto cercando di“campionare” (cioè valutare) la funzione obiettivo
in un numero sufficientemente grande di punti appartenenti all’insieme ammissibile F.
A seconda di come viene effettuato questo campionamento, i metodi appartenenti a
questa classe si dividono in:
23
- metodi deterministici, dove i punti in cui viene valutata la funzione obiettivo so-
no determinati utilizzano le informazioni sulla funzione già ottenute durante le
iterazione dell’algoritmo;
- metodi probabilistici, dove i punti in cui la funzione viene campionata sono dei vet-
tori aleatori distribuiti uniformemente o secondo leggi che tengono conto delle
informazione estratte dall’algoritmo.
Per introdurre questi risultati è necessario definire formalmente quali sono le carat-
teristiche di un algoritmo che utilizza informazioni locali. Questo può essere fatto
introducendo la seguente definizione.
allora l’algoritmo produce lo stesso punto xk+1 sia se è applicato alla funzione f
e sia se è applicato alla funzione f˜, cioè si ha
24
Proposizione 1.6.2 Comunque scelti due scalari ε1 > 0 e ε2 > 0 con ε1 > ε2 , si può
definire una funzione s( · ; ε1 , ε2 ) : Rn → R infinitamente differenziabile tale che:
s(x; ε1 , ε2 ) = 1, se kxk ≤ ε2 ,
0 < s(x; ε1 , ε2 ) < 1, se ε2 < kxk < ε1 ,
s(x; ε1 , ε2 ) = 0, se kxk ≥ ε1 .
Prova. Un modo per definire una funzione che soddisfa le proprietà descritte dalla
proposizione è il seguente.
Per ogni ε1 > 0 e ε2 > 0, con ε1 > ε2 , si possono introdurre le seguenti funzioni
infinitamente differenziabili:
1
− 2 2
e ε1 − kxk
se kxk < ε1
s1 (x; ε1 ) =
se kxk ≥ ε1
0
1
− 2 2
e kxk − ε2
se kxk > ε2
s2 (x; ε2 ) =
se kxk ≤ ε2 .
0
s1 (x; ε1 )
s(x, ε1 ; ε2 ) = . (1.26)
s1 (x; ε1 ) + s2 (x; ε2 )
- se ε2 < kxk < ε1 allora s1 (x; ε1 ) > 0 e s2 (x; ε2 ) > 0 da cui segue che 0 <
s(x; ε1 , ε2 ) < 1;
La precedente proposizione mostra che una qualsiasi funzione può essere perturbata
arbitrariamente in un punto x̃ lasciandola immutata in tutti i punti in cui è definita
con l’esclusione di un prefissato intorno di un punto x̃. Per esempio, data una funzione
f : Rn → R, un punto x̃ ∈ Rn ed un scalare α ∈ R, la funzione
25
coincide con la funzione f (x) per ogni x ∈ Rn \ B(x̃; ε) ed è tale che f˜(x̃) = α. Inoltre
la nuova funzione f˜ ha le stesse proprietà di regolarità della f , cioè se, per esempio, f
è due volte continuamente differenziabile continua ad esserlo anche la f˜.
Da quanto osservato segue facilmente la seguente proposizione.
Prova. La dimostrazione segue osservando che un esempio di una funzione f˜ che gode
delle proprietà descritte dalla proposizione è il seguente:
2
f˜(x) = f (x) + (−αe−kx−x̃k − f (x))s(x − x̃; ε, ε/2),
Teorema 1.6.4 Sia F ⊂ Rn un insieme che soddisfa l’Assunzione 1.5.1, sia C l’insie-
me delle funzioni continue su F. Per ogni funzione f ∈ C, sia x∗ un suo minimo globale
su F e sia {xk } la sequenza di punti generata da un algoritmo di ottimizzazione globale
che usa informazioni locali (Definizione 1.6.1) quando applicato alla minimizzazione di
f su F. Allora, per ogni funzione f ∈ C, esiste un indice k̄ tale che xk̄ = x⋆ oppure x⋆
è un punto di accumulazione della sequenza {xk } se e solamente se, per ogni funzione
f ∈ C, i punti prodotti dall’algoritmo, al tendere di k all’infinito, formano un insieme
denso su F (cioè comunque scelti x ∈ F e ε > 0 esistono un k̄ ed un xk tali che k ≤ k̄
e xk ∈ B(x; ε)).
26
Prova. La sufficienza segue direttamente dalla definizione di insieme denso su F.
Infatti dalla densità segue che comunque scelto un ε > 0 esistono un indice k̄ ed un
punto xk tali che k ≤ k̄ e xk ∈ B(x∗ ; ε). Sia {εi } una sequenza tale che
xki ∈ B(x∗ ; εi ),
segue che:
lim xki = x∗ .
i→∞
Per dimostrare la necessità si supponga che esista una funzione f ∈ C per cui l’insieme
dei punti prodotti dall’algoritmo non formi un insieme denso su F. Allora esisterebbe
un punto x̃ ∈ F e un ε̃ > 0 tali che
xk ∈
/ B(x̃; ε̃), per tutti k. (1.27)
La proprietà di convergenza considerata nel precedente teorema può non essere comple-
tamente soddisfacente. Infatti la mancanza di condizioni di ottimalità utilizzabili porta
al fatto di non saper riconoscere un minimo globale nel caso coincidesse con un punto
prodotto dall’algoritmo e di non saper individuare la sottosequenza che sta convergendo
al minimo globale. Più interessante sarebbe stabilire che tutti i punti di accumulazione
della sequenza prodotta sono dei minimi globali del problema. Purtroppo dal prece-
dente teorema deriva un risultato negativo circa la possibilità di garantire questo tipo
di convergenza, come descritto dalla seguente proposizione.
Prova. Se ogni suo punto di accumulazione della sequenza di punti {xk } generati dal-
l’algoritmo fosse un minimo globale di f su F allora il Teorema 1.6.4 implicherebbe che
27
i punti generati dall’algoritmo formerebbero un denso su F. Dalla definizione di insie-
me denso si avrebbe che ogni punto dell’insieme F sarebbe un punto di accumulazione
della sequenza di punti {xk } (basta ripetere la prima parte della prova del precedente
Teorema facendo riferimento ad un qualsiasi punto x ∈ F). Si avrebbe, quindi, l’assur-
do che ogni punto dell’insieme ammissibile F sarebbe un minimo globale del problema.
Teorema 1.6.6 Sia F ⊂ Rn un insieme che soddisfa l’Assunzione 1.5.1, sia C l’insie-
me delle funzioni continue su F. Per ogni funzione f ∈ C, sia x∗ un suo minimo globale
su F e sia {xk } la sequenza di punti aleatori generati da un algoritmo di ottimizzazione
globale probabilistico che usa informazioni locali (Definizione 1.6.1) quando applicato
alla minimizzazione di f su F. Sia p ∈ (0, 1). Allora, comunque scelta una funzione
f ∈ C, la probabilità che esiste un indice k̄ tale che xk̄ = x⋆ oppure che x⋆ è un punto di
accumulazione della sequenza {xk } è maggiore di p se e solamente se, comunque scelta
una funzione f ∈ C, la probabilità che un qualsiasi punto di F appartenga alla chiusura
dei punti generati dall’algoritmo, al tendere di k all’infinito, è maggiore di p.
L’analogo del Teorema 1.6.5 diventa, nel caso di algoritmi probabilistici, il seguente
risultato.
Teorema 1.6.7 Sia F ⊂ Rn un insieme che soddisfa l’Assunzione 1.5.1, sia C l’in-
sieme delle funzioni continue su F. Allora comunque scelto un valore p ∈ (0, 1), per
ogni funzione f ∈ C che non sia una costante, la probabilità che la sequenza di pun-
ti {xk } generati da un algoritmo di ottimizzazione globale che usa informazioni locali
(Definizione 1.6.1) non goda della proprietà che ogni suo punto di accumulazione è un
minimo globale di f su F è maggiore di p.
Come notato per i Teoremi 1.6.4 e 1.6.5, anche i Teoremi 1.6.6 e 1.6.7 continuano a
valere nel caso di funzioni continuamente deifferenziabili oppure nel caso di funzioni
due volte continuamente differenziabili.
28
Capitolo 2
In questo capitolo vengono introdotti e brevemente descritti quelli che vengono detti
metodi di ottimizzazione locale. Per una trattazione completa, approfondita e rigorosa
si rimanda il lettore intessato al libro:
In questo capitolo si seguirà l’approccio proposto nel precedente libro riportando bre-
vemente alcuni dei risultati principali.
Nel seguito si considererà una particolare classe di problemi, detti problemi di ottimiz-
zazione continuamente differenziabili, che presentano le seguenti caratteristiche:
2.1 Introduzione
Gli algoritmi proposti per risolvere problemi di ottimizzazione consentono di determi-
nare dei punti x∗ ∈ Ω, dove Ω è un certo insieme di punti desiderati. Gli algoritmi di
ottimizzazione sono classificati, oltre per la classe di problemi a cui si applicano, anche
per il particolare insieme Ω a cui si riferiscono. In particolare se Ω è costituito da tutti
i minimi globali del Problema 1.1, i corrispondenti algoritmi vengono detti algoritmi di
ottimizzazione globale. Purtroppo la definizione di algoritmi generali di ottimizzazione
globale è uno degli argomenti più difficili nel campo dell’ottimizzazione ed è tuttora un
argomento di ricerca aperto.
La maggior parte dei metodi ed algoritmi proposti in letteratura appartengono alla
classe chiamata metodi di ottimizzazione locale oppure, più semplicemente, metodi lo-
cali. Questa classe di metodi, partendo da un punto iniziale x0 ∈ Rn , cercano di
29
produrre una sequenza di punti {xk } che abbia una ”qualche proprietà di convergenza”
verso punti di minimo locale del problema. Questi metodi cercano di sfruttare tutte
la informazioni locali che possono essere estratte dal problema (per esempio: calcolo
delle derivate prime della funzione obiettivo e dei vincoli, calcolo delle derivate secon-
de, valutazione della funzione obiettivo e dei vincoli in punti vicini al punto corrente)
e di utilizzare il fatto che una qualsiasi funzione può essere approssimata localmente
abbastanza bene da una funzione lineare o da una funzione quadratica. In realtà, in as-
senza di particolari proprietà della funzione obiettivo e dei vincoli, le sequenze di punti
prodotte da questi metodi non presentano “proprietà di convergenza” verso dei minimi
locali del problema, ma piuttosto verso punti che soddisfano delle condizioni necessarie
di ottimo locale (viste nella sSezione 1.4.2). Questi punti, pur essendo solamente dei
candidati ad essere dei minimi locali, vengono accettati in questa classe di algoritmi
come soluzioni locali del Problema (1.1).
In pratica, se il punto iniziale x0 non è un punto stazionari i metodi locali sono in grado
di garantire che f (x) < f (x0 ).
Recentemente sono stati proposti in letteratura dei metodi che permettono di determi-
nare dei punti che soddisfano le condizioni necessarie di ottimalità del secondo ordine
(cioè punti che sono dei “migliori” candidati ad essere dei minimi locali del problema
di partenza). In questo caso l’insieme Ω è dato da:
Anche nel campo dei metodi locali per problemi vincolati sono stati proposti recente-
mente degli algoritmi che cercano di produrre punti dei punti che soddisfano le condi-
zioni necessarie di ottimalità del secondo ordine per il Problema (1.3), in questi casi si
30
ha:
Ω := {x ∈ Rn : x soddisfa le condizioni necessarie di ottimalità
del secondo ordine e f (x) ≤ f (x0 ) se x0 ∈ F}.
Nel caso (i) l’algoritmo termina dopo un numero finito di passi determinando un punto
di Ω. In questo caso si dice che l’algoritmo ha convergenza finita. Purtroppo solamente
per classi molto particolari di problemi si possono definire algoritmi che presentano
questa proprietà (per esempio quelli per minimizzare funzioni quadratiche convesse).
Generalmente i metodi proposti hanno, al più, proprietà di tipo asintotico del tipo (ii),
(iii) o (iv). Ovviamente, la proprietà (iv) è quella a cui corrisponde la nozione più
debole di convergenza tra quelle considerate; la proprietà (iv) tuttavia può essere già
sufficiente, dal punto di vista pratico, ad assicurare un comportamento soddisfacente
dell’algoritmo. Infatti essa assicura che, dopo aver effettuato un numero sufficiente-
mente grande di iterazioni, si è in grado di ottenere una buona stima di un punto di
Ω.
È da sottolineare che nella Definizione 1.1 il termine globale deriva dal fatto che una
delle le proprietà di convergenza (i)-(iv) deve valere comunque si fissi il punto iniziale
x0 .
Definizione 2.2.2 Se un algoritmo di ottimizzazione produce una sequenza di punti
{xk } che soddisfa una delle proprietà di convergenza (i)-(iv) solamente se il punto
iniziale x0 appartiene ad un intorno opportuno di un punto di Ω, l’algoritmo si dice
localmente convergente.
31
Generalmente, nel caso di algoritmi localmente convergenti, l’intorno a partire dal quale
convergono non è conosciuto a priori ma se ne conosce solamente l’esistenza.
ek = kxk − x∗ k.
32
- sublineare se α ∈ [1, ∞).
kxk+1 − x∗ k ≤ αk kxk − x∗ k
2.4.1 Introduzione
Gran parte degli algoritmi di ottimizzazione non vincolata presenta la seguente strut-
tura:
xk+1 = xk + αk dk ,
Una possibile spiegazione di una tale struttura risiede nel fatto che l’idea di fondo di
un metodo di ottimizzazione non vincolata è quella di cercare di trovare un’approssi-
mazione del minimo della funzione obiettivo attraverso una sequenza di minimizzazioni
“più semplici”. Infatti al Passo 3 la direzione dk viene usualmente calcolata facendo
riferimento alla minimizzazione di una funzione η(d) che rappresenta una approssi-
mazione della funzione f (xk + d) pensata come funzione della sola variabile d ∈ Rn .
Ovviamente η(d) viene scelta in maniera tale da poter determinare il suo minimo in
maniera semplice. Una volta determinata la direzione dk , nel Passo 4 si calcola lo spo-
stamento αk in maniera tale che sia una approssimazione di un minimo della funzione
φ(α) := f (xk + αdk ) che dipende dalla sola variabile scalare α ∈ R.
33
Il primo problema da affrontare, quando si vuole dimostrare la convergenza globale
di un algoritmo, è quello di assicurare che la sequenza di punti {xk } prodotta abbia
almeno un punto di accumulazione. A questo fine, normalmente, si assume di conoscere
un punto x0 ∈ Rn tale che l’insieme di livello
L0 := {x ∈ Rn : f (x) ≤ f (x0 )}
sia compatto.
Poiché la minima richiesta rivolta ad un algoritmo di minimizzazione è quella di mi-
gliorare la stima iniziale x0 , si ha che tutti punti prodotti xk devono necessariamente
soddisfare la condizione f (xk ) ≤ f (x0 ). Quindi segue che tutti i punti della succesione
rimangono nell’insieme compatto L0 e questo implica l’esistenza di almeno un punto di
accumulazione.
Una volta considerato il problema dell’esistenza di punti di accumulazione, il passo
successivo per stabilire la convergenza globale dell’algoritmo è quello di stabilire se la
sequenza di punti {xk } prodotta soddisfa una delle proprietà (i)-(iv) della Definizione
2.2.1
Molti risultati generali sono stati proposti in letteratura per caratterizzare la conver-
genza dei metodi di ottimizzazione non vincolata. Qui se ne riporta uno che, nella sua
semplicità, mette comunque in evidenza che la convergenza globale di un algoritmo può
essere assicurata richiedendo ipotesi riconducibili a condizioni da imporre sulla scelta
della direzione di ricerca dk e del passo αk .
∇f (xk )T dk
lim = 0; (2.1)
k→∞ kdk k
∇f (xk )T dk
≤ −ck∇f (xk )kq . (2.2)
kdk k
34
(c) limk→∞ k∇f (xk )k = 0, cioè ogni punto di accumulazione x̄ di {xk } è tale che
∇f (x̄) = 0.
Come detto in precedenza le ipotesi (i)-(iii) della Proposizione 2.4.1 possono essere
riconducibili a condizioni sulla direzione dk e sul passo αk .
∇f (xk )T dk < 0
che garantisce che, per valori abbastanza piccoli di α, si abbia f (xk + αk dk ) <
f (xk ).
- L’ipotesi ii) può essere soddissfatta utilizzando delle semplici tecniche di ricerca
unidimensionale per il calcolo di αk .
- L’ipotesi iii) pone delle condizioni sulla scelta della direzione dk . Infatti, ricordan-
do che il coseno dell’angolo θk tra il gradiente ∇f (xk ) e la direzione dk è definito
da:
∇f (xk )T dk
cos θk = .
kdk k k∇f (xk )k
l’ipotesi iii) implica che cos θk < 0 che, geometricamente, equivale a richiedere che
la direzione dk formi sempre un angolo acuto con la direzione dell’antigradiente
−∇f (xk ).
dk = −Hk ∇f (xk )
dove Hk è una matrice definita positiva, con massimo autovalore λM (Hk ) e minimo
autovalore λm (Hk ) tali che, per ogni k, verificano M ≥ λM (Hk ) ≥ λm (Hk ) ≥ m > 0,
con M ≥ m > 0.
In tal caso si ha che la iii) della Proposizione 2.4.1 è verificata con q = 1 e c = m/M .
Infatti usando la seguente relazione
si ha:
m
∇f (xk )T dk = −∇f (xk )T Hk ∇f (xk ) ≤ −λm (Hk )k∇f (xk )k2 ≤ − k∇f (xk )kkdk k
M
35
Un altro modo (molto diffuso nei metodi tipo-Newton) per assicurare la condizione (iii)
della Proposizione 2.4.1 è quella di mostrare che, per ogni k, esistono numeri c1 > 0,
c2 > 0, q1 > 0 e q2 > 0 tali che la direzione dk verifica le seguenti condizioni:
∇f (xk )T dk ≤ −c1 k∇f (xk )kq1 , kdk kq2 ≤ c2 k∇f (xk )k. (2.3)
∞
∇f (xk )T dk 2
X
< ∞; (2.4)
k=0
kdk k
∞ 2
X ∇f (xk )T dk
= ∞. (2.5)
k=0
kdk k k∇f (xk )k
(c) lim inf k→∞ k∇f (xk )k = 0, cioè esiste un punto di accumulazione x̄ di {xk } tale
che ∇f (x̄) = 0.
36
È da notare, innanzitutto, che il risultato di convergenza ottenuto è più debole rispetto
al precedente: infatti, mentre nella Proposizione 2.4.1 si riusciva a stabilire che tutti i
punti di accumulazione della sequenza {xk } sono dei punti stazionari, nella Proposizione
2.4.2 si riesce a dimostrare solamente che un punto di accumulazione di {xk } è un punto
stazionario.
Come detto precedentemente la condizione iii) di Proposizione 2.4.1 è più stringente
della iii) di Proposizione 2.4.2. Inversamente, la ii) di Proposizione 2.4.2 implica la ii)
di Proposizione 2.4.1.
Tuttavia, benché φ è funzione della sola variabile α, una sua minimizzazione è, in
generale, molto dispendiosa specialmente in problemi in cui f non è convessa. D’altra
parte, l’esperienza computazionale mostra che non esistono particolari vantaggi nel
cercare di determinare αk come una buona stima del minimo di φ(α).
Tenendo conto delle precedenti osservazioni, un metodo di ricerca unidimensionale deve
cercare di determinare in maniera semplice un αk che, pur essendo una stima molto
approssimata di un minimo di φ, garantisca comunque all’algoritmo di minimizzazione
opportune proprietà di convergenza. In pratica, un algoritmo di ricerca unidimensionale
può essere definito utilizzando determinati criteri di accettabilità. Tali criteri, essendo
molto semplici, possono essere soddisfatti, in generale, dopo un numero molto limitato
di tentativi. Tuttavia i valore che vengono accettati per αk sono tali da garantire che
sono soddisfatte le ipotesi che servono a stabilire la convergenza globale dell’algoritmo
di ottimizzazione (per esempio le ipotesi i) e ii) della Proposizione 2.4.1 oppure le ipotesi
i) e ii) della Proposizione 2.4.2).
Criterio di Armijo
37
Dal punto di vista geometrico, la precedente condizione impone di scegliere αk come il
più grande valore di α nell’insieme:
A = {α : α = δj a, j = 0, 1, . . .}
per cui il valore della funzione φ(αk ) sia al di sotto del valore della retta passante per
(0, φ(0)) e avente pendenza γ φ̇(0) = γ∇f (xk )T dk .
ii) esistono delle costanti c > 0 e q > 0) per cui si ha per ogni k:
q
|∇f (xk )′ dk |
kdk k ≥ c .
kdk k
Allora esiste un valore αk > 0 che soddisfa il criterio di Armijo e la successione definita
da xk+1 = xk + αk dk soddisfa le condizioni:
∇f (xk )′ dk
(b) lim = 0.
k→∞ kdk k
Prova. Dalla condizione (2.6) su αk e dal fatto che ∇f (xk )T dk < 0 si ha che:
38
da cui segue che:
Se, per assurdo, il punto b) della proposizione non fosse vero e ricondando l’assunzione
ii), il limite (2.10) implicherebbe l’esistenza di un insieme infinito di indici K e di
sottosequenze {xk }K e {αk }K tali che:
limk→∞,k∈K αk = 0.
∇f (xk )T dk
lim = ∇f (x̄)T d¯ = −η < 0. (2.14)
k→∞,k∈K ′ kdk k
Dalla (2.13) si avrebbe che, per valori k ∈ K ′ sufficientemente grandi, αk < a. Per
questi valori di k, le condizioni su αk del criterio di Armijo implicherebbero:
αk αk
f (xk + dk ) > f (xk ) + γ∇f (xk )T dk , (2.15)
δ δ
Ricondando il Teorema della media si avrebbe che:
αk αk αk
f (xk + dk ) = f (xk ) + ∇f (xk + θk dk )T dk ,
δ δ δ
con θk ∈ (0, 1).
Applicando questo teorema alla (2.15) si avrebbe per valori k ∈ K ′ sufficientemente
grandi:
αk
∇f (xk + θk dk )T dk > γ∇f (xk )T dk ,
δ
da cui seguirebbe:
αk dk ∇f (xk )T dk
∇f (xk + θk dk )T >γ . (2.16)
δ kdk k kdk k
39
Facendo il limiti per k → ∞ e k ∈ K ′ , la (2.16) porterebbe a:
Osserviamo innanzitutto che l’ipotesi ii) della precedente proposizione non è particolar-
mente restrittiva. Infatti, come si è visto precedentemente, per soddisfare la condizione
iii) di Proposizione 2.4.1, si sceglie una direzione che verifica
Un esempio di un criterio di questo tipo è costituito dalla seguente variazione del criterio
Armijo.
40
Il precedente criterio permette di utilizzare stime iniziali del passo che posso variare
ogni iterazione, però richiede almeno due calcoli di funzione.
Nel caso in cui si è in grado di produrre dei valori iniziali del parametro α efficienti,
è preferibile utilizzare le seguenti condizioni di Goldstein che, nel caso più favorevole
usano un solo calcolo di funzione obiettivo.
Condizioni di Goldstein
• Dati a > 0, 0 < γ1 < γ2 < 1/2.
• Si sceglie αk tale da soddisfare:
Condizioni di Wolfe
In certi casi è necessario scegliere il passo αk in maniera più precisa rispetto al criterio di
Armijo o alle condizioni di Goldstein. A questo fine si possono considerare le condizioni
di Wolfe che sono dei criteri di accettabilità che impongono condizioni sulla derivata
della funzione φ(α) nel punto αk .
Condizioni deboli di Wolfe
• Dati γ1 ∈ (0, 1/2) e γ2 ∈ (γ1 , 1).
• Si sceglie αk tale da soddisfare:
41
Analogamente al criterio di Armijo o alle condizioni di Goldstein, le precedenti con-
dizioni di Wolfe richiedono una sufficiente riduzione della funzione φ(α) (attraverso le
(2.18) e (2.20)). La (2.19) richiede inoltre che la tangente alla curva φ(α) in αk ab-
bia pendenza positiva (φ(α) crescente) oppure abbia pendenza negativa ma minore, in
valore assoluto, di γ2 |∇f (xk )T dk |. Il criterio forte con la (2.21) richiede invece che la
pendenza sia in valore assoluto minore di γ2 |∇f (xk )T dk |. In altre parole questo equivale
a richiedere che αk sia scelto in una zona in cui φ(α) è sufficientemente piatta.
Proposizione 2.4.4 Supponiamo che l’insieme di livello L0 sia compatto e che ∇f (xk )′ dk <
0 per ogni k. Allora, esiste un intervallo [αl , αu ], con 0 ≤ αl < αu tale che ogni
αk ∈ [αl , αu ] soddisfa il criterio debole (forte) di Wolfe e la successione definita da
xk+1 = xk + αk dk soddisfa le condizioni:
(c) se esiste una costante di Lipschitz L > 0 tale che, per ogni x, y ∈ L0 risulti
allora si ha anche: ∞
∇f (xk )T dk 2
X
< ∞.
k=0
kdk k
Il punto (c) della precedente proposizione mostra che i criteri di Wolfe, a differenza
delle altre tecniche, sono in grado di soddisfare l’ipotesi ii) della Proposizione 2.4.2.
con
β1 (xk , d)
lim = 0.
kdk→0 kdk
42
L’idea del metodo del gradiente è quella di approssimare la funzione f (xk + d) con la
funzione ψk (d) data da:
ψk (d) := f (xk ) + ∇f (xk )T d,
e di scegliere come direzione di ricerca dk quella direzione che minimizza la ψk (d) nella
sfera di raggio unitario. In altre parole, dk è la soluzione del seguente problema:
min ψk (d),
kdk = 1,
che è equivalente a
min ∇f (xk )T d,
kdk = 1.
∇f (xk )
xk+1 = xk − α̃k ,
k∇f (xk )k
che, ridefinendo il passo lungo la direzione (α := α̃/k∇f (xk )k), può essere riscritto
come
xk+1 = xk − αk ∇f (xk ).
Convergenza globale
Poiché nel metodo del gradiente si ha dk = −∇f (xk ), si può notare subito che è
soddisfatta la condizione iii) di Proposizione 2.2.1 Quindi la convergenza globale di
questo metodo può essere caratterizzata dal seguente risultato.
∇f (xk )T dk
lim = 0.
k→∞ kdk k
43
c) ogni punto di accumulazione è un punto stazionario che non è un massimo locale
di f .
In base alla proposizione precedente, per ottenere un algoritmo globalmente convergente
basta associare al metodo del gradiente una qualsiasi delle ricerche unidimensionali
descritte nella precedente sezione, in quanto tutte soddisfano le proprietà (i) e (ii) di
Proposizione 2.4.5.
Rapidità di convergenza
Purtroppo il difetto del metodo del gradiente è la sua rapidità di convergenza. Infatti
si può dimostrare che anche le caso ideale in cui la funzione da minimizzare sia una
funzione quadratica convessa ed il passo αk sia calcolato minimizzando esattamente la
funzione scalare φ(α) = f (xk + αdk ) esistono punti iniziali a partire dai quali il metodo
del gradiente produce una sequenza di punti {xk } per cui la rapidità di convergenza è
lineare.
In particolare si ha il seguente risultato risultato.
Proposizione 2.4.6 Sia data funzione
1
f (xk ) = xT Qx,
2
dove Q è una matrice simmetrica definita positiva.
Il metodo del gradiente definito con αk ottenuto minimizzando esattamente la funzione
f (xk + αdk ), cioè:
∇f (xk )T dk k∇f (xk )k2
αk = − = )
dTk Qdk ∇f (xk )T Q∇f (xk )
converge al minimo x∗ = 0 di f (x) e si ha:
1/2
λM λM − λm
kxk+1 − x∗ k ≤ kxk − x∗ k,
λm λM + λm
in cui λM e λm sono, rispettivamente, il massimo ed il minimo autovalore di Q.
Il precedente risutato mostra che il metodo del gradiente nel caso di funzioni quadratiche
e convesse ha una rapidità di convergenza che è almeno lineare e che dipende dal
rapporto λM /λm tra il massimo ed il minimo autovalore della matrice Hessiana di
f (x). Quindi ci si può aspettare che la rapidità di convergenza del metodo del gradiente
peggiori, in genere, al crescere della differenza tra λM e λm , ossia all’aumentare del mal
condizionamento della matrice Q.
Questa analisi, svolta in un semplice caso quadratico convesso, dà delle indicazione
negative sul comportamento locale del metodo gradiente nel caso di funzioni non qua-
dratiche. L’esperienza di calcolo ha, infatti, confermato queste conclusioni in quan-
to il metodo del gradiente è apparso complessivamente un metodo molto semplice di
minimizzazione non vincolata ma poco efficiente.
44
Recenti sviluppi
cioè
(xk − xk−1 )T (∇f (xk ) − ∇f (xk−1 ))
αk = .
(∇f (xk ) − ∇f (xk−1 ))T (∇f (xk ) − ∇f (xk−1 ))
Queste nuove versioni del metodo del gradiente, anche se non impongono più una di-
minuzione monotona della funzione obiettivo, fanno migliorare in maniera significativa
l’efficienza computazionale del metodo del gradiente.
45
2.4.4 Metodo di Newton
Se la funzione f è due volte continuamente differenziabile e se xk è un punto dato, si
può scrivere:
1
f (xk + d) = f (xk ) + ∇f (xk )T d + dT ∇2 f (xk )d + β2 (xk , d), (2.22)
2
con
β2 (xk , d)
lim = 0.
kdk→0 kdk2
L’approccio del metodo di Newton è quello di cercare di determinare il minimo di una
funzione due volte continuamente differenziabile costruendo una successione di punti
ottenuti minimizzando ad ogni passo l’approssimazione quadratica della funzione f data
da:
1
φk (d) := f (xk ) + ∇f (xk )T d + dT ∇2 f (xk )d. (2.23)
2
Tale funzione quadratica φk , in base alla (2.22), può essere considerata una buona
approssimazione di f (xk + d).
Quindi, a partire da x0 , il metodo di Newton è definito dall’iterazione:
xk+1 = xk − [∇2 f (xk )]−1 ∇f (xk ). (2.24)
dove il vettore dk = −[∇2 f (xk )]−1 ∇f (xk ), detto direzione di Newton, è un punto
stazionario della funzione quadratica φk (d). Inoltre, se la matrice Hessiana ∇2 f (xk )
è definita positiva, allora la direzione di Newton è il punto di minimo della funzione
quadratica φk (d).
Il fatto di utilizzare le informazione derivanti dalle derivate del primo e del secondo
ordine permette al metodo di Newton di avere localmente ottime proprietà di con-
vergenza. Infatti, utilizzando queste informazioni è possibile costruire ed utilizzare la
funzione quadratica φk (d) che, in un intorno sufficientemente piccolo di un minimo della
funzione obiettivo, approssima ottimamente il comportamento della funzione obiettivo.
La seguente proposizione mostra le ottime proprietà locali di convergenza del metodo
di Newton.
Proposizione 2.4.8 Sia f una funzione due volte continuamente differenziabile su
Rn . Supponiamo inoltre che valgano le condizioni seguenti:
i) esiste un x⋆ ∈ Rn tale che ∇f (x⋆ ) = 0;
ii) la matrice Hessiana ∇2 f (x⋆ ) è non singolare;
iii) esiste una costante L > 0 tale che, per ogni x, y ∈ Rn , si abbia
2
∇ f (x) − ∇2 f (y)
≤ Lkx − yk.
46
Allora esiste una sfera aperta B(x⋆ ; ε) := {x ∈ Rn : kx − x⋆ k < ε}, tale che, se
x0 ∈ B(x⋆ ; ε), la successione {xk } generata dal metodo di Newton a partire da x0
rimane in B(x⋆ ; ε) e converge a x⋆ con rapidità di convergenza quadratica.
Sia ora
ε < min [ε1 , 1/µL]
e supponiamo che sia xk ∈ B(x⋆ ; ε).
Essendo per ipotesi ∇f (x⋆ ) = 0, possiamo riscrivere la (2.24) nella forma:
da cui segue:
(2.25)
≤ µ
−∇2 f (xk )(xk − x⋆ ) + ∇f (xk ) − ∇f (x⋆ )
.
47
da cui segue, essendo µLε < 1, che xk → x⋆ . La (2.26) implica allora che la rapidità di
convergenza è quadratica.
y = Tx
Una iterazione del metodo di Newton rispetto al nuovo vettore di variabili y assume la
seguente forma:
che coincide con il punto fornito dalla iterazione del metodo di Newton fatta diretta-
mente nello spazio delle xk .
La precedente Proposizione 2.4.8 mette in evidenza sia i pregi e sia i difetti del metodo
di Newton. Infatti da una parte ci indica che questo metodo ha in pratica la migliore
rapidità di convergenza, dall’altra però, mostra che nella sua forma pura, non può essere
utilizzato come algoritmo di minimizzazione globalmente convergente. Infatti ci sono i
seguenti problemi da affrontare:
- ∇2 f (xk ) può essere singolare e, quindi, la direzione di Newton può non essere
definita in xk ;
48
Un argomento importante nel campo dell’ottimizzazione non vincolata è quello di defi-
nire degli algoritmi di minimizzazione che superino le precedenti difficoltà, e che quindi
siano globalmente convergenti pur preservando contemporaneamente le buone caratte-
ristiche di rapidità di convergenza del metodo di Newton. In particolare è utile dare la
seguente definizione:
Uno dei modi più immediati per realizzare una modifica globalmente convergente del
metodo di Newton è quello di far riferimento ai criteri di convergenza globale descritti
precedentemente.
49
Proposizione 2.4.10 Sia f due volte continuamente differenziabile e supponiamo che
l’insieme di livello L0 = {x ∈ Rn : f (x) ≤ f (x0 )} sia compatto. L’algoritmo definito
dall’iterazione:
xk+1 = xk + αk dk , k = 0, 1 . . . ,
è una modifica globalmente convergente del metodo di Newton se valgono le seguenti
proprietà:
(i) il passo αk viene calcolato utilizzando il metodo di Armijo assumendo come valore
di prova iniziale a = 1;
Uno dei modi più semplici di determinare una direzione dk che permetta di definire
una modifica globalmente convergente del metodo di Newton, è quella di utilizzare
la direzione dell’antigradiente quando la direzione di Newton non soddisfa opportune
condizioni. In particolare è possibile definire il seguente schema che fornisce una dk che
soddisfa le condizioni (iii) di Proposizione 2.4.1 e (i)-(ii) di Proposizione 2.4.3;
50
- Metodi della regione di confidenza (Trust Region)
• Sia sk ∈ Rn il minimo di
e la riduzione prevista
∆φk (sk ) = f (xk ) − φk (sk );
che si hanno passando da xk a xk + sk ;
xk+1 = xk + sk ;
se inoltre ∆fk (sk ) è “abbastanza” più grande di ∆qk (sk ) allora all’iterazione
successiva si può aumentare ak .
51
- se ∇2 f (xk ) è definita positiva allora per valori crescenti di ak la direzione di sk
tende alla direzione di −[∇2 f (xk )]−1 ∇f (xk ).
Quindi, l’algoritmo Trust Region fornisce una spostamento che può essere visto come
una combinazione tra uno spostamento lungo l’antigradiente, che tende a garantire la
convergenza globale, ed uno spostamento lungo la direzione di Newton che cerca di
assicurare una buona rapidità di convergenza.
Per quanto riguarda le proprietà di convergenza dello schema di algoritmo precedente-
mente descritto si ha il seguente risultato.
Dal risultato precedente si può osservare che i metodi Trust Region presentano proprietà
più forti rispetto alle modifiche del metodo di Newton viste nel paragrafo precedente.
Infatti, come mostra la precedente proposizione, essi convergono a punti che soddisfano
le condizioni necessarie del secondo ordine.
Purtroppo il prezzo da pagare per ottenere queste buone proprietà di convergenza è
alto. Infatti ad ogni passo è necessario risolvere esattamente il problema (2.28) e questo
è estremamente oneroso specialmente nel caso in cui la matrice Hessiana ∇2 f (xk ) non
è definita positiva.
Allo scopo di superare questa difficoltà si sono proposti dei metodi Trust Region che
risolvono solo in maniera approssimata il sottoproblema (2.28).
Questi metodi sono tipicamente più efficienti dal punto di computazionale rispetto
all’algoritmo originario ma la maggior parte di loro perde la proprietà di convergere
a punti che soddisfano le condizioni necessarie del secondo ordine (cioè convergono ai
punti stazionari).
Per problemi di dimensioni elevate la risoluzione esatta del sistema (2.29) può essere
troppo oneroso se non addirittura praticamente impossibile. Quindi un problema im-
portante da affrontare è quello di capire se è possibile, risolvendo approssimativamente
52
il sistema (2.29), ottenere una direzione che permetta di definire un algoritmo di mini-
mizzazione con una buona rapidità di convergenza. Una interessante risposta a questa
questione è data dalla seguente proposizione.
Proposizione 2.4.12 Sia f due volte continuamente differenziabile e sia {xk } la suc-
cessione generata dall’iterazione
xk+1 = xk + dk , k = 0, 1, . . . ,
dove dk è una soluzione approssimata del sistema lineare (2.29), cioè un vettore che
soddisfa la (2.29) a meno di un residuo rk dato da:
rk = ∇2 f (xk )d + ∇f (xk ).
krk k
lim = 0,
k→∞ k∇f (xk )k
Recentemente un nuovo approccio per definire delle nuove modifiche globalmente con-
vergenti del metodo di Newton è stato proposto in letteratura. Questo nuovo filone è
nato dall’osservazione il metodo di Newton nella sua forma pura (2.4.2) è frequentemen-
te molto più efficiente delle varie modifiche proposte. Per esempio si può considerare
la seguente funzione
f (x) = 108 (x2 − x21 )2 + (1 − x1 )2 ,
e come punto di partenza x0 = (−1.2, 1). In questo caso il metodo di Newton puro
converge in 3 iterazioni mentre una delle più efficienti modifiche convergenti del metodo
53
di Newton (implementata nella routine E04LBF della libreria NAG) converge in 1631
iterazioni (e 2447 calcoli di funzione).
Una della cause di questa differenza di efficienza fra il metodo di Newton puro e le sue
modifiche globalmente convergenti è il fatto che quest’ultime producono una successione
di punti a cui corrispondono necessariamente valori monotonicamente descrescenti
della funzione obiettivo. Questa diminuzione del valore della funzione obiettivo ad ogni
iterazione è ottenuta
Si può notare che il precedente criterio consente che f (xk+1 ) possa essere maggiore
di f (xk ) e, perciò, che possa essere accettato più facilmente il passo unitario lungo la
direzione di Newton.
54
Si può dimostrare che se si utilizza il precedente criterio di Armijo non monotono (con
a = 1) con una direzione di ricerca che soddisfa le condizioni (iii) di Proposizione
2.4.1 e (ii) di Proposizione 2.4.3 si ottiene un metodo che è una modifica globalmente
convergente del metodo di Newton.
Benché l’utilizzazione di una ricerca unidimensionale di tipo nonmonotono in una modi-
fica del metodo di Newton abbia fatto migliorare i risultati numerici rispetto ai metodi
monotoni, si è notato che ulteriori miglioramenti possono essere ottenuti “concedendo”
ancora più libertà al metodo di Newton. Per esempio ottimi risultati possono essere
ottenuti se non si effettuano controlli sul valore della funzione obiettivo per un numero
prefissato di iterazioni, quindi scegliendo sempre il passo unitario in queste iterazioni.
Questo comportamento sembra indicare che è utile cercare di utilizzare il più possibile
il metodo di Newton puro anche se non si è nella sua regione di convergenza. Una
possibile spiegazione di questo fatto è che, in generale, la direzione di ricerca contiene
più informazioni sul problema rispetto ai criteri di scelta dello spostamento. Infatti:
- la direzione di Newton utilizza ∇2 f (xk ) e ∇f (xk ) che sono equivalenti a n(n+3)/2
calcoli di funzioni;
Però, dall’altra parte, una scelta “sbagliata” del passo αk influenza pesantemente
l’entità dello spostamento effettuato dall’algoritmo.
Quindi in base alle precedenti considerazioni, una possibilità per sviluppare dei nuovi
algoritmi di ottimizzazione più efficienti è quella di proporre dei metodi di globalizza-
zione che determinino il passo αk cercando di sfruttare più informazioni sul problema.
Utilizzando non solamente i valori della funzione obiettivo ma anche altre grandezze
che possano caratterizzare il comportamento dell’algoritmo.
55
in cui Bk è una matrice aggiornata iterativamente ed αk è, al solito, lo spostamento
lungo la direzione di ricerca. Affinché un metodo descritto dall’iterazione (2.30) possa
ereditare l’ottima rapidità di convergenza del metodo di Newton è naturale richiedere
che la matrice Bk approssimi (in un qualche senso) la matrice Hessiana.
La scelta più immediata è quella di richiedere che le matrici Bk siano delle appros-
simazioni consistenti della matrice Hessiana, cioè che abbiano la proprietà che, se la
successione di punti {xk } converge ad un punto stazionario x∗ (con la matrice Hessiana
non singolare), allora:
lim kBk − ∇2 f (x∗ )k = 0.
k→∞
I metodi del tipo (2.30) che utilizzano matrici che godono della precedente proprietà
sono detti metodi tipo-Newton.
La richiesta che la successione di matrici {Bk } siano delle approssimazioni consistenti
della matrice Hessiana può essere alquanto pesante e, ai fini di mantere una rapidità
di converganza superlineare, può essere indebolita in maniera significativa. Infatti ci si
può ispirare al seguente risultato.
Proposizione 2.4.13 Sia f (x) due volte continuamente differenziabile, sia {Bk } una
successione di matrici non singolari, sia {xk } data da:
e sia {xk } convergente al punto x∗ dove ∇2 f (x∗ ) è non singolare. Allora {xk } converge
superlinearmente ad x∗ e risulta ∇f (x∗ ) = 0 se e solo se:
Bk − ∇2 f (x∗ ) (xk+1 − xk )
lim = 0.
k→∞ kxk+1 − xk k
Quindi, il risultato precedente indica che, al fine di avere una buona rapidità di con-
vergenza, una matrice B̃ può essere considerata una buona “approssimazione” di ∇2 f
se
B̃(xk+1 − xk ) ≈ ∇2 f (xk )(xk+1 − xk ),
che è una relazione vettoriale e, perciò, molto più debole della richiesta che B̃ ≈ ∇2 f (xk )
che è una relazione matriciale.
Ricordando i teoremi della media, si ha che se il punto xk+1 è sufficientemente vicino
a xk allora:
∇2 f (xk )(xk+1 − xk ) ≈ ∇f (xk+1 ) − ∇f (xk ),
Quindi una matrice B̃ può essere considerata una “approssimazione” di ∇2 f se soddisfa
la condizione:
B̃(xk+1 − xk ) ≈ ∇f (xk+1 ) − ∇f (xk ).
In linea con la precedente considerazione, i metodi Quasi-Newton producono ad ogni
iterazione una matrice Bk+1 che soddisfa la sequente equazione di Quasi-Newton:
56
Un modo equivalente per giustificare il fatto di richiedere le matrici prodotte soddisfino
l’equazione Quasi-Newton (2.31) è quello di far riferimento nuovamente al modello
quadratico. Infatti è facile verificare che se la funzione obiettivo fosse una funzione
quadratica, con matrice Hessiana Q, si avrebbe:
Bk+1 = Bk + ∆Bk ,
γk = (Bk + ∆Bk ) δk . (2.32)
Le formule del tipo (2.32), in cui si cerca di approssimare la matrice Hessiana, vengono
dette formule dirette.
Un approccio alternativo nell’ambito dei metodi Quasi-Newton è quello di produrre una
matrice Hk+1 che cerchi di approssimare l’inversa della matrice Hessiana. In questo
caso la formula Quasi-Newton da soddisfare è la seguente:
Hk+1 = Hk + ∆Hk ,
(Hk + ∆Hk ) γk = δk .
I vari metodi Quasi-Newton finora proposti differiscono fra loro essenzialmente per le
formule usate nella definizione della matrici di aggiornamento ∆Bk o ∆Hk . La loro
carattereristica comune è che sia ∆Bk che ∆Hk vengono ottenuti con la sola valu-
tazione del gradiente nel punto xk+1 e quindi senza un eccessivo aumento del costo
computazionale rispetto ad un qualsiasi algoritmo tipo gradiente.
Un esempio di una formula di aggiornamento diretta particolarmente utilizzata è la
seguente:
γk γ T Bk δk δT Bk
Bk+1 = Bk + T k − T k ,
δk γk δk Bk δk
57
mentre, riguardo le formule di aggiornamento inverse, un esempio particolarmente
significativo è il seguente:
δk δkT Hk γk γkT Hk
Hk+1 = Hk + − .
δkT γk γkT Hk γk
Per quanto riguarda la scelta del passo αk , motivazioni di sia di tipo teorico che di
tipo pratico indicano che, nei metodi Quasi-Newton, la tecnica più adeguata è quella
di calcolare il passo in modo da soddisfare le condizioni di Wolfe (si veda la Sezione
2.4.2).
I metodi Quasi-Newton a memoria limitata sono stati proposti per estendere l’approc-
cio dei metodi Quasi-Newton anche a problemi a grandi dimensioni. L’idea di questi
nuovi metodi è quella di costruire una direzione che approssimi la direzione di Newton
utilizzando solamente le informazioni ottenute nelle ultime iterazioni. Tali informazioni
vengono memorizzate utilizzando un numero limitato di vettori.
Un metodo a memoria limitata, che si è rivelato particolarmente efficiente, è quello che
viene chiamato metodo BFGS a memoria limitata. Questo metodo è molto simile al
metodo BFGS standard, la sola differenza è nella matrice di aggiornamento. Infatti, se
si sceglie B0 = I, al posto di
k−1
X γi γi′ Bi δi δi′ Bi
Bk = I + [ − ′ ],
i=0
δi′ γi δi Bi δi
si utilizza (per k ≥ m + 1)
k−1
X γi γi′ Bi δi δi′ Bi
B̃k = I + [ − ′ ].
i=k−m−1
δi′ γi δi Bi δi
58
2.4.6 Metodo del gradiente coniugato
Il metodo del gradiente coniugato è stato studiato e sviluppato per affrontare principal-
mente problemi di ottimizzazione non vincolata a grosse dimensioni. Per tali problemi
non è ammissibile far uso di operazioni matriciali e richiedere la conoscenza della ma-
trice Hessiana. Inoltre è necessario ridurre il più possibile il numero di vettori utilizzati
dall’algoritmo per limitare il più possibile l’occupazione di memoria del calcolatore.
Quindi il metodo maggiormente applicabile per questa classe di problemi sembrereb-
be essere il metodo del gradiente. Purtroppo, per quanto detto nella sezione 2.4.3, le
versioni tradizionali di tale metodo possono essere alquanto inefficienti e quindi non
utilizzabili in pratica per risolvere problemi di ottimizzazione non vincolata a grosse
dimensioni.
Per cercare di avere una efficienza migliore rispetto al metodo del gradiente tradizio-
nale, il metodi di tipo gradiente coniugato prendono come punto di partenza il fatto di
approssimare una generica funzione obiettivo f (xk + d) con il suo modello quadratico
φk (d) (definito dalla (2.23) in Sezione 2.4.4) e di cercare di minimizzare questa funzio-
ne quadratica senza dover fare l’inversione della matrice Hessiana, come nel caso del
metodo di Newton.
Per affrontare questo sfida uno strumento essenziale sono le direzioni coniugate rispetto
alla matrice Hessiana di f (x).
- Direzioni coniugate
Definizione 2.4.14 Assegnata una matrice Q simmetrica, due vettori non nulli di , dj ∈
Rn si dicono coniugati rispetto a Q (oppure Q-coniugati) se risulta:
dTi Qdj = 0.
Dopo aver introdotto le direzioni coniugate si può ritornare al problema di voler mini-
mizzare, senza fare inversioni di matrici, una funzione quadratica del tipo:
1
f (x) = xT Qx + cT x, (2.33)
2
in cui Q è una matrice simmetrica definita positiva.
59
Se si conoscono n direzioni d0 , . . . , dn−1 coniugate rispetto a Q, si può effettuare la
seguente trasformazione dello spazio delle variabili:
n−1
X
x= αi di .
i=0
i=0
2 i=0
cioè diventa la somma di n funzioni quadratiche ciascuna di una sola variabile scalare
αi .
Quindi utilizzando n direzioni coniugate si può trasformare un problema di ottimiz-
zazione su Rn in n problemi separati di ottimizzazione su R. Questo fa capire che,
utilizzando le direzioni coniugate, si può determinare il minimo di una funzione qua-
dratica strettamente convessa in un numero finito di iterazioni. Più formalmante si ha
il seguente risultato.
Proposizione 2.4.16 Sia f (x) data dalla (2.33) e sia d0 , d1 , . . . , dn−1 un insieme di
vettori non nulli e mutuamente coniugati rispetto a Q. Si definisca l’algoritmo
xk+1 = xk + αk dk ,
Allora esiste m ≤ n − 1 tale che xm+1 coincide con il punto di minimo x∗ di f (x).
Da quanto visto nella sezione precedente una funzione quadratica strettamente convessa
può essere minimizzata molto efficientemente se si conoscono n direzioni coniugate
rispetto alla sua matrice Hessiana. Quindi il problema si sposta a quello di trovare in
maniera “semplice” delle direzioni coniugate.
Questo problema, sempre nel caso di funzioni quadratiche, può essere risolto utilizzando
il metodo del gradiente coniugato che fornisce, attraverso un processo iterativo, delle
direzioni coniugate.
60
Sia x0 ∈ Rn un punto arbitrario allora ogni iterazione del metodo del gradiente
coniugato è data da:
−∇f (xk ), se k = 0,
dk =
−∇f (xk ) + βk dk−1 , se k ≥ 1;
∇f (xk )T Qdk−1
βk =
dTk−1 Qdk−1
xk+1 = xk + αk dk ;
∇f (xk )T dk
αk = −
dTk Qdk
(a) Se la matrice Q è definita positiva allora l’algoritmo del gradiente coniugato pro-
duce delle direzione d0 , . . . , dk che sono Q-coniugate e determina, in al più n
iterazioni, il punto di minimo x∗ della funzione f (x).
Il metodo del gradiente coniugato, come descritto nel paragrafo precedente, permette
di trovare il minimo di un funzione quadratica strettamente convessa senza effettuare
inversioni di matrici. Se si vuole utilizzare questo metodo per minimizzare funzioni
generali a grandi dimensioni, bisogna risolvere i seguenti problemi:
- il calcolo del passo αk : in generale non è possibile nel caso di funzioni non
quadratiche calcolare il passo αk minimizzando esattamente la funzione obiettivo.
61
Il primo dei due ostacoli viene superato determinando il passo αk utilizzando uno degli
algoritmi di ricerca unidimensionale viste nella sezione 2.4.2, in particolare quello che
si avvivicina di più ad una minimizzazione esatta lungo alla direzione di ricerca.
Per quanto riguarda il secondo ostacolo da risolvere, si può notare che, nel caso quadra-
tico, si possono ricavare diverse espressioni di βk che sono tutte fra di loro equivalenti.
In alcune di queste non compare più la matrice Hessiana della funzione obiettivo e,
quindi, possono essere utilizzate nel caso di problemi a grandi dimensioni. Tuttavia è
da notare che queste espressioni diverse di βk sono equivalenti solo nel caso quadratico
e, perciò, danno luogo ad algoritmi diversi per il calcolo della direzione nel caso non
quadratico. In definitiva un esempio di un metodo del gradiente coniugato nel caso non
quadratico può essere descritto nella seguente maniera.
dk =
−∇f (xk ) + βk dk−1 , se k ≥ 1;
xk+1 = xk + αk dk ;
- dove
- lo scalare αk viene usualmente calcolato le utilizzando le condizioni forti
di Wolfe (si veda la Sezione 2.4.2) oppure altre condizioni che tendono ad
assicurare buone proprità alla successiva direzione;
- lo scalare βk è dato normalmente da una delle seguenti due formule (equi-
valenti nel caso di funzioni quadratiche):
k∇f (xk )k2 ∇f (xk )T (∇f (xk ) − ∇f (xk−1 ))
βk = , βk = .
k∇f (xk−1 )k2 k∇f (xk−1 )k2
Grazie alla utilizzazione di particolari tecniche di per il calcolo del passo αk si riesce
a garantire ai matodi del gradiente coniugato soddisfacenti proprietà di convergenza
globale.
Per quanto riguarda la rapidità di convergenza di questi metodi, la maggior parte
di questi dei risultati proposti riguardano il caso in cui le ricerche unidimensionali
sono esatte. Il risultato più significativo stabilisce che, in un intorno di un punto
stazionario che soddisfa le condizioni della Proposizione 2.4.8, la sequenza di punti
prodotta soddisfa la seguente relazione:
kxk+n − x∗ k = O(kxk − x∗ k2 ).
Cioè, al meglio, questi metodi presentano una rapidità di convergenza quadratica ogni
n passi. Questo riflette il fatto che n iterazioni di un metodo del gradiente coniugato
permettono di minimizzare una funzione quadratica strettamente convessa e, quindi,
equivalgono approssimativamente ad una iterazione del metodo di Newton.
62
2.4.7 Metodi di Newton troncato
La cosa importante è che la Proposizione 2.4.12 indica che una “buona” direzione dk può
essere ottenuta minimizzando in maniera approssimata la funzione φk (d). Infatti, per
avere un algoritmo superlinearmente convergente, è sufficiente ottenere una direzione
dk tale che:
k∇φk (dk )k ≤ ηk k∇f (xk )k (2.35)
con ηk → 0. Il soddisfare la condizione (2.35) equivale al fatto che la direzione dk
soddisfa il sistema (2.34)) a meno di un errore rk = k∇φk (dk )k per cui vale:
Nella maggior parte dei metodi di Newton troncato il calcolo della direzione dk viene
effettuato applicando il metodo del gradiente coniugato (vedere sezione 2.4.6) per mi-
nimizzare in maniera approssimata la funzione quadratica φk (d). Tale scelta presenta
i seguenti vantaggi:
- in molti casi una direzione dk che soddisfa un criterio del tipo (2.35) può essere
ottenuta con questo metodo in poche iterazioni;
- se k∇f (xk )k è grande il gradiente coniugato fornisce una dk che tende a coincidere
con l’antigradiente della funzione obiettivo, mentre se k∇f (xk )k è piccola la dk
calcolata tende a coincidere con la direzione di Newton; quindi il metodo del
gradiente coniugato fornisce una direzione che impone la convergenza globale se
si è distanti da un punto stazionario, mentre, se si è vicini, produce una direzione
che assicura una buona rapidità di convergenza;
63
Il metodo di Newton Troncato, proposto per primo in letteratura, può essere descritto
dal seguente schema.
xk+1 = xk + αk dk ;
- dove
P1: si pone
∇φk (pi )T si
pi+1 = pi + αi si ; αi = −
sTi ∇2 f (xk )si
P2: se
1
k∇φk (pi+1 )k ≤ ε2 k∇f (xk )k
k+1
si pone dk = pi+1 e Stop; altrimenti si pone i = i + 1;
P3: si pone
P4: se
sTi ∇2 f (xk )si < ε1 ksi |2
si pone dk = pi e Stop; altrimenti si torna a P1;
Tutti i metodi descritti precedentemente si basano sulla conoscenza del gradiente della
funzione obiettivo. Come visto, il gradiente della funzione obiettivo ha giocato un ruolo
importante sia nell’individuazione di una direzione lungo la quale la funzione diminuisce
che nella determinazione di un efficiente spostamento da effettuare lungo una direzione
di discesa.
64
Purtroppo, varie classi di importanti problemi applicativi particolarmente complessi
possono essere modellizzati come problemi di ottimizzazione in cui non sono disponibili
le informazioni del primo ordine della funzione obiettivo e dei vincoli. Per esempio, nei
problemi di programmazione matematica che nascono nell’ambito della progettazione
ottima, non sono note le espressioni analitiche della funzione obiettivo o dei vincoli del
problema. In questi casi si possono ottenere delle approssimazioni dei valori di queste
funzioni attraverso dei complessi codici di simulazione o dei processi di misurazione.
La non conoscenza delle rappresentazioni analitiche delle funzioni che caratterizzano
questi particolari problemi di ottimo implica l’impossibilità di calcolarne le derivate
prime e, quindi, i rispettivi gradienti.
I valori delle derivate prime di una funzione posso essere approssimate con buona
precisione sfruttando la seguente relazione:
∂f (x) f (x + ηei ) − f (x)
≈ (2.36)
∂xi η
dove ei è il versore i-esimo (cioè un vettore che tutte le componenti uguali a zero con
l’eccezione della i-esima che è uguale a uno) e η è uno scalare sufficientemente piccolo.
Tuttavia questa possibilità non può essere sfruttata nella precedente classe di problemi
applicativi in quanto le valutazioni di funzione ottenute possono essere affette da errori
di approssimazione o di misura. Se si indica con ω1 e ω2 gli errori associati al calcolo
di f (x + ηei ) e f (x), si ottiene la seguente relazione:
(f (x + ηei ) + ω1 ) − (f (x) + ω2 ) ∂f (x) ω1 − ω2
≈ + ,
η ∂xi η
dove l’ultimo termine può assumere valori significativi (per il fatto che η deve essere
piccolo) e, quindi, rendere imprecisa la stima della derivata parziale di f rispetto a xi .
Da quanto detto, risulta evidente l’importanza dal punto di vista applicativo di stu-
diare e proporre algoritmi di ottimizzazione che usino solamente i valore della funzione
obiettivo e dei vicoli. Per poter avere buone proprietà proprità teoriche, tali metodi
devono essere in grado di sostituire le informazioni derivanti dalla conoscenza del gra-
diente che guidano la convergenza della sequenza dei punti prodotta da un algoritmo
di ottimizzazione.
Le componenti del gradiente forniscono una importante misura della sensibilità della
funzione al variare delle corrispondenti variabili (si veda l’equazione (2.36). Grazie a
questa caratteristica il gradiente di una funzione permette di determinare efficiente-
mente delle direzioni di ricerca.
Gli algoritmi che non usano le derivate determinano delle direzioni di discesa valutan-
do la funzione obiettivo su particolari insieme di direzioni. Molto frequentemente gli
insiemi di direzioni usate da tali algoritmi soddisfano la seguente assunzione.
65
Esempi di direzioni che soddisfano la precedente assunzione sono i seguenti.
∇f (x̄)T dh < 0.
A questo punto si sono introdotti tutti gli strumenti per riportare un esempio di un
algoritmo di minimizzazione che non usa le derivate.
66
Algoritmo che non use le derivate.
Passo 2: se f (yki + α̃k di ) ≤ f (yki )− γ(α̃ik )2 allora si calcola un αik che soddisfa il Criterio
al Passo 1.
- nel Passo 5 l’algoritmo accetta come xk+1 un qualsiasi punto ottenuto da tec-
niche di approssimazione varie purche produca un miglioramento della funzione
obiettivo rispetto al punto yki+1 prodotto dall’algoritmo. Se nessuna tecnica di
approssimazione è disponibile allora si può porre xk+1 = yki+1 .
(c) limk→∞ k∇f (xk )k = 0, cioè ogni punto di accumulazione x̄ di {xk } è tale che
∇f (x̄) = 0.
67
2.5 Metodi di ottimizzazione vincolata
2.5.1 Introduzione
Come già detto, se si deve risolvere un problema di ottimizzazione vincolata, la situa-
zione è molto diversa a seconda che l’insieme ammissibile F è un insieme chiuso oppure
che è aperto.
Infatti se F è un insieme chiuso può accadere che la soluzione del problema cada proprio
sulla frontiera dell’insieme ammissibile. Normalmente, in questi casi, la presenza di un
minimo è dovuto all’azione congiunta della funzione obiettivo ed dei vincoli rendendo
assolutamente inadeguati i risultati e le tecniche proposte nel campo dell’ottimizzazione
non vincolata.
Diversa è la situazione se F è un insieme aperto. In questo caso, se esiste una solu-
zione questa è localmente un minimo non vincolato della funzione obiettivo e, perciò,
continuano ad essere valide tutte le condizioni di ottimalità ottenute nel caso non vin-
colato oltre al fatto che, in un intorno della soluzione, molti degli algoritmi proposti
per risolvere problemi non vincolati possono essere applicati direttamente.
Sempre nel caso in cui F è aperto, il Problema (1.1) si semplifica drasticamente se si
conosce un punto x̃ interno all’insieme ammissibile e se è compatto l’insieme di livello
In questo caso, una soluzione del problema può essere ottenuta, a partire dal punto
x̃, adattando facilmente uno dei metodi o algoritmi proposti per risolvere problemi di
minimizzazione non vincolata. L’unica modifica da effettuare è quella di introdurre
(per esempio nelle minimizzazioni unidimensionali) dei controlli sul fatto che i punti
prodotti non escano dall’insieme ammissibile.
Quindi, in conclusione, si può dire che un problema vincolato reale è quello in cui
l’insieme ammissibile è un insieme chiuso. Invece, un problema vincolato in cui l’in-
sieme ammissibile è un insieme aperto, si conosce un punto ammissibile ed l’insieme
di livello LF (x̃) è un insieme compatto è assolutamente equivalente ad un problema di
minimizzazione non vincolato.
Risolvere un problema di ottimizzazione vincolata presenta un ordine di difficoltà mag-
giore del risolvere un problema di ottimizzazione non vincolato. Infatti, in generale,
un problema vincolato può essere visto come la somma di due sottoproblemi alquanto
difficili:
68
cioè quello di minimizzare una funzione che pesa la violazione dei vincoli. Anche nei
casi fortunati in cui si conoscano dei punti ammissibili od in cui l’insieme ammissibile
abbia una struttura particolarmente semplice, la sola presenza di vincoli sulla variabili
rende più difficile il problema di minimizzare la funzione obiettivo. Una conferma di
questo fatto può aversi, per esempio, osservando le condizioni di ottimalità: quelle per
problemi vincolati sono alquanto più complesse ed articolate di quelle per problemi non
vincolati.
A causa delle difficoltà descritte, lo studio di metodi per l’ottimizzazione vincolata ha
avuto una sviluppo molto più lento e meno armonioso rispetto a quello per l’ottimiz-
zazione non vincolata. Tuttavia, recentemente, vari algoritmi per problemi vincolati
sono stati proposti in letteratura. Se si trascurano tutti quei metodi che sfruttano
una qualche particolarità presente nella struttura del problema vincolato (per esem-
pio, vincoli lineari, programmazione convessa, programmazione quadratica), nel pro-
porre la maggior parte degli algoritmi per problemi vincolati generali, si sono seguiti
tradizionalmente due approcci:
Nel ambito del primo approccio, i metodi i più considerati e più studiati sono metodi
di programmazione quadratica ricorsiva (metodi RQP).
Per quanto riguarda il secondo approccio i metodi più promettenti si basano sulla pos-
sibilità di risolvere un problema vincolato attraverso una minimizzazione non vincolata
di particolari funzioni continuamente differenziabile.
Nel seguito si decriverà brevemente le idee su cui si basano i metodi RQP e le funzioni
di penalità.
69
risolto facilmente. Da qui la necessità di approssimare il problema originale con un
problema più trattabile dal punto di vista computazionale. L’idea è stata quella di
utilizzare come approssimazione del Problema (1.3) un problema di programmazione
quadratica, cioè un problema di minimizzazione vincolata in cui la funzione obiettivo
è quadratica ed i vincoli sono lineari. In particolare si può notare che, se la tripla
(d∗ , η ∗ , ρ∗ ) è un punto stazionario della funzione Lagrangiana del Problema (2.37), è
anche un punto stazionario della funzione Lagrangiana del seguente problema:
1
min dT ∇2x L(xk , η ∗ , ρ∗ )d + ∇f (xk )T d + f (xk )
d 2
∇gi (xk )T d + gi (xk ) ≤ 0 i = 1, . . . , m, (2.38)
T
∇hj (xk ) d + hj (xk ) = 0 j = 1, . . . , q.
Questo fatto suggerisce che può essere possibile ottenere una buona approssimazione del
Problema (1.3) anche utilizzando un problema di programmazione quadratica, in cui
i vincoli sono una approssimazione lineare dei vincoli non lineari di partenza. Questo
può essere ottenuto, purché la funzione obiettivo del problema approssimante, oltre ad
essere costituita dal modello quadratico della funzione obiettivo del problema originario,
include anche delle informazioni del secondo ordine dei vincoli.
Seguendo quanto visto, l’approccio dei metodi di programmazione quadratica ricorsiva
è quello:
- di risolvere un problema vincolato risolvendo una sequenza di problemi di pro-
grammazione quadratica;
- di sfruttare il fatto che, sotto opportune ipotesi, un problema di programmazione
quadratica può essere risolto efficientemente (cioè in un numero finito di passi).
Nella sua forma originale un metodo RQP può essere descritto dal seguente schema.
• Si pone:
xk+1 = xk + dk ,
λk+1 = ηk ,
µk+1 = ρk .
70
Il sottoproblema (2.39) deriva dal Problema (2.38) in cui si sono sostituiti nella fun-
zione obiettivo i moltiplicatori ottimi (η ∗ , ρ∗ ) del Problema (2.37) con le stime correnti
(λk , µk ). Nonostante questa ulteriore approssimazione il sottoproblema (2.39) continua
ad avere con il problema originale dei forti legami. Infatti si può dimostrare che:
- Convergenza locale
Come visto precedentemente, i metodi di programmazione quadratica ricorsiva sono
stati proposti cercando di estendere l’approccio del metodo di Newton al caso di pro-
blemi di minimizzazione vincolata. Il frutto di questo tentativo è il fatto che questi
metodi presentano proprietà di convergenza locale simili a quelle del metodo di New-
ton per problemi non vincolati. Uno dei risultati che riguardano le proprietà locali di
questi metodi è descritto dalla seguente proposizione.
71
- Convergenza globale
La precedente proposizione mostra che i metodi di programmazione quadratica ricor-
siva, sotto opportune ipotesi, hanno buone proprietà di convergenza in un intorno di
un minimo del problema vincolato. Per quanto riguarda l’utilizzazione pratica di que-
sti algoritmi bisogna tener conto che, quando non si conosce un punto di partenza x0
“sufficientemente” vicino ad un minimo, si devono affrontare le seguenti difficoltà:
- l’algoritmo può non essere definito, cioè il sottoproblema quadratico può non
ammettere soluzione;
xk+1 = xk + αk dk ,
dove il passo αk dovrebbe essere calcolato utilizzando una ricerca unidimensionale che
valuti la bontà del nuovo punto prodotto. Come accennato precedentemente, la difficoltà
dei problemi di minimizzazione vincolati risiede nel fatto che la misura della bontà
di un nuovo punto prodotto deve tener conto contemporaneamente di una possibile
diminuzione della funzione obiettivo e di un possibile miglioramento (o mantenimento)
della ammissibilità del punto prodotto.
Un modo naturale per valutare se un punto è migliore dell’altro è quello di utilizzare
una funzione di penalità che, come si vedrà nella prossima sezione, permette di pesare
contemporaneamente le due diverse esigenze presenti in un problema di ottimizzazione
vincolata.
72
differenziano tra di loro nel modo di penalizzare la violazione dei vincoli. Tali differenze
si riflettono nelle proprietà teoriche che le varie funzioni di penalità presentano.
Nel seguito si descriveranno brevemente alcune funzioni di penalità che non richiede la
conoscenza di un punto strettamente interno all’insieme ammissibile o la possibilità di
sfruttare qualche particolarità della sua struttura.
ii) φS (x) = 0 se x ∈ F;
Le funzioni di penalità che appartengono a questa classe hanno il pregio di essere molto
semplici. Dal punto di vista teorico si può dimostrare che, se xε è il minimo di PS (x; ε),
allora per valori di ε che tendono a zero si ha che i punti xε tendono ad una soluzione
del problema vincolato. Un difetto di questa classe di funzioni di penalità è quello di
essere non esatte, cioè non esiste nessun valore di ε per cui è possibile dimostrare che il
problema vincolato di partenza è equivalente a minimizzare in maniera non vincolata
una di queste funzioni PS (x).
Una ulteriore limitazione di queste funzioni di merito è dovuta al fatto che non si può
stabilire nessuna relazione tra i suoi punti stazionari ed il problema vincolato di par-
tenza. Questo fatto costituisce un grosso problema dal punto di vista computazionale
in quanto gli algoritmi di minimizzazione non vincolata permettono di determinare
solamente dei punti stazionari della funzione di penalità.
Nonostante questi limiti questa classe di funzioni di penalità permettono di definire
uno dei primi metodi proposti in letteratura in questo ambito (chiamato Metodo delle
Penalità Sequenziali). Anche se non è sicuramente molto efficiente, questo metodo ha
un certo interesse per la sua semplicità e per le discrete proprietà teroriche.
73
Tale metodo consiste trasformare il problema di partenza in una sequenza di minimiz-
zazioni (approssimate) non vincolate della seguente funzione di penalità:
m p
1X 1X
P (x; ε) = f (x) + max{0, gi (x)}2 + hj (x)2 , (2.41)
ε i=1 ε i=1
L’idea di fondo del Metodo delle Penalità Sequenziali è quella di produrre una sequenza
di punti {xk } attraverso delle minimizzazioni approssimate della funzione P (x, εk ).
In particolare, al crescere del numero di iterazioni, ciascun punto xk della sequenza
approssima sempre meglio un punto stazionario della funzione P (x, εk ).
Nelle iterazioni iniziali, al parametro di penalità εk che compare nella funzione P (x, εk )
vengono assegnati valori relativamente grandi. L’idea è che, in queste iterazione, la
funzione obiettivo del problema vincolato abbia nella espressione della funzione P (x, εk )
un peso relativamente grande.
All’aumentare della iterazioni i punti xk vengono ottenuto minimizzando in maniera
sempre più precisa la funzione P (x, εk ) in cui si scengono valori del parametro di pena-
lità εk sempre più piccoli in modo da aumentare, sempre di più il peso della violazione
dei vincoli. In questa modo si cerca di garantire di ottenere, al limite, punti che sod-
disfano tutti i vincoli e che stiano in zone in cui la funzione obiettivo assume valori
relativamente piccoli.
Il Metodo delle Penalità Sequenziali può essere descritto dai seguenti passi.
74
Metodo delle Penalità Sequenziali.
Passo 1. Si pone
2
(λk )i = max{0, gi (xk )}, i = 1, . . . , m,
εk−1
2
(µk )j = hj (xk ), j = 1, . . . , p,
εk−1
k∇P ((xk+1 ; εk )k ≤ δk .
Passo 3. Se
m p m
X p
2 2 2 2
X X X
max{0, gi (xk+1 )} + hj (xk+1 ) ≤ θ1 max{0, gi (xk )} + hj (xk ) ,
i=1 j=1 i=1 j=1
Il seguente teorema descrive le proprietà asintotiche dei punti prodotti dal precedente
metodo. Le ipotesi di questo teorema necessitano della definizione dell’insieme degli
75
indici dei vincoli attivi o violati, cioè dell’insieme:
˜
I(x̄) = {i = 1, . . . , m : gi (x) ≥ 0} . (2.42)
La tesi del teorema segue dalla dimostrazione dei seguenti tre punti:
Punto i). Se esiste un k̄ tale che, per ogni k ≥ k̄, si ha εk = ε > 0 significa che per ogni
k ≥ k̄ il test al Passo 3 è soddisfatto, quindi
m p m
X p
2 2
θ1k−k̄ 2 2
X X X
max{0, gi (xk )} + hj (xk ) ≤ max{0, gi (xk̄ )} + hj (xk̄ ) ,
i=1 j=1 i=1 j=1
76
Le precedenti relazioni provano che x̄ ∈ F.
Si consideri ora il caso in cui la sequenza di scalari {εk } è tale che
lim εk = 0.
k→∞
X p
X
max{0, gi (x̄)}∇gi (x̄) + hj (x̄)∇hj (x̄) = 0,
˜
i∈I(x̄) j=1
La precedente uguaglianza e l’ipotesi fatta di regolarità dei vincoli nel punto x̄ implicano
che:
Se, per assurdo, le sequenze di vettori {λk }K e {µk }K fossero illimitate, esisterebbero
delle sottosequenze {λk }K̃ e {µk }K̃ , con K̃ ⊆ K tali che:
lim Vk = ∞. (2.45)
k→∞,k∈K̃
Dalla definizione di Vk si avrebbe che le sottosequenze {λk /Vk }K̃ e {µk /Vk }K̃ sarebbero
limitate quindi esisterebbe un sottoinsieme di indici K̂ ⊆ K̃ tale che:
(λk )i
lim = λ̃i ≥ 0, i = 1, . . . , m, (2.46)
k→∞,k∈K̂ Vk
(µk )j
lim = µ̃j , j = 1, . . . , p. (2.47)
k→∞,k∈K̂ Vk
77
Inoltre dalla definizione di λk e dalla (2.44) si avrebbe anche:
(λk )i ˜
lim = λ̃i = 0, i∈
/ I(x̄), (2.48)
k→∞,k∈K̂ Vk
v
p
um 2 X
uX
t λ̃i + µ̃2j = 1. (2.49)
i=1 j=1
Il Passo 2 implicherebbe:
m p
∇P (xk ; εk−1 )
=
∇f (xk ) +
1 (λk )i (µk )j δk−1
X X
V
V ∇gi (xk ) + ∇hj (xk )
≤ .
k k i=1
Vk j=1
Vk
Vk
X p
X
λ̃i ∇gi (x̄) + µ̃j ∇hj (x̂) = 0. (2.50)
˜
i∈I(x̄) j=1
lim xk = x̄ ∈ F, (2.54)
k→∞,k∈K̄
lim λk = λ̃ ≥ 0, (2.55)
k→∞,k∈K̄
lim µk = µ̄, (2.56)
k→∞,k∈K̄
lim δk−1 = 0. (2.57)
k→∞,k∈K̄
78
La (2.60) e la (2.61) implicano che λ̄T g(x̄) ≤ 0 che, insieme alla (2.59), da
λ̄T g(x̄) = 0. (2.63)
In conclusione si ottiene che le (2.58),(2.60), (2.61), (2.62), (2.63) mostrano che il punto
x̄ è un punto di Karush-Kuhn-Tucker del problema. ✷
Il fatto che in questa classe di funzioni di merito si rilassi la richiesta che il termine
di penalità φN (x) sia continuamente differenziabile permette di superare le limitazioni
delle funzioni di penalità sequenziali. Infatti le funzioni di penalità non differenziabili
sono esatte, in quanto, sotto opportune ipotesi, è possibile dimostrare che, per valori
sufficientemente piccoli del parametro di penalità ε, ogni minimo globale (locale) del
problema vincolato è un minimo globale (locale) non vincolato di PN (x; ε) e viceversa.
Inoltre, una relazione analoga vale anche tra i punti di Kuhn-Tucker del problema
originale ed i punti critici della funzione non differenziabile PN (x; ε).
Naturamente la limitazione principale nell’utilizzazione di questa classe di funzioni
di penalità risiede nella loro non differerenziabilità che le rende alquanto difficili da
minimizzare.
79
i) φE (x, λ, µ; ε) è una funzione continuamente differenziabile nella tripla (x, λ, µ);
La proprietà (i) assicura ovviamente che la funzione di penalità risultante sia conti-
nuamente differenziabile. La (ii) implica che, quando il coefficiente di penalità tende
a zero, la funzione φE tende al termine di penalità utilizzato nelle funzioni di penalità
sequenziali che pesa la violazione dei vincoli. La proprietà (iii) mostra che il termi-
ne φE è in grado di forzare la positività del moltiplicatore λ e la complementarità
(cioè gi (x)λi = 0). L’ultima proprietà assicura che ogni una tripla di Kuhn-Tucker
(x∗ , λ∗ , µ∗ ) è un punto stazionario della funzione Lagrangiana aumentata.
Sotto opportune ipotesi e per valori sufficientemente piccoli del parametro di penalità ε,
si ha anche che ogni minimo globale (locale) del problema vincolato è un minimo globale
(locale) non vincolato della funzione LA (x, λ∗ , µ∗ ; ε). Purtroppo quest’ultimo risultato
non può essere applicato direttamente per trasformare il problema vincolato originale
in uno vincolato perché richiederebbe la conoscenza dei moltiplicatori di Kuhn-Tucker
λ∗ e µ∗ . Tuttavia la precedente proprietà delle funzioni Lagrangiane aumentate hanno
ispirato la definizione di una classe di algoritmi, detti metodi dei moltiplicatori, che si
basano su una sequenza di minimizzazioni, rispetto alla variabile x, di funzioni del tipo
LA (x, λk , µk ; εk ), dove le stime dei moltiplicatori (λk , µk ) e il parametro dipenalità εk
vengono aggiornati iterativamente secondo opportune regole.
80
Kuhn-Tucker (λ∗ , µ∗ ) attraverso delle funzioni della sola variabile x. Più precisamente
la struttura base di una funzione di penalità di questo tipo è la seguente:
1
PE (x; ε) = f (x) + φE (x, λ(x), µ(x); ε),
ε
dove il termine di penalità è lo stesso di quello utilizzato nella funzione Lagrangiana
aumentata vista precedentemente, mentre λ(x) e µ(x) sono delle particolari funzioni
tali che:
i) λ(·) : Rn → Rm e µ(·) : Rn → Rq ;
In letteratura tutte le funzioni che godono delle precedenti proprietà vengono dette
funzioni moltiplicatrici.
Grazie alla proprietà del termine di penalità φE e delle funzioni λ(x) e µ(x), le funzioni
di penalità di questa classe presentano delle buone proprietà di esattezza. Infatti, sotto
opportune ipotesi e per valori sufficientemente piccoli di ε, è possibile stabilire una
corrispondenza biunivoca tra i minimi globali (locali) e punti di Kuhn-Tucker del pro-
blema vincolato originario e i minimi globali (locali) e i punti stazionari della funzione
continuamente differenziabile PE (x; ε).
φL (x∗ , λ, µ) = 0
se e solamente se λ = λ∗ e µ = µ∗ .
81
Quindi a differenza delle funzioni Lagrangiane aumentate, quelle esatte hanno un ter-
mine φL la cui minimizzazione forza le variabili λ e µ a coincidere con i moltiplicatori
di Kuhn-Tucker del problema vincolato.
Le funzioni Lagrangiane esatte si possono stabilire le stesse proprietà di esattezza delle
funzioni di penalità esatte continuamente differenziabili.
82
Capitolo 3
La maggior parte dei metodi proposti in letteratura considerano dei problemi di otti-
mizzazione globale che hanno la seguente struttura.
D = {x ∈ Rn : l ≤ x ≤ u}, (3.2)
Molto spesso si ipotizza anche che i due vettori siano stati scelti in maniera tale che i
minimi globali della funzione f su D siano interni all’insieme D.
In altre parole i problemi globali maggiormante affrontati sono quelli non vincolati
oppure quelli che hanno vincoli molto semplici che impongono solamente dei limiti
superiori ed inferiori sulle componenti del vettore delle variabili.
Molto più limitatata è stata l’attività di ricerca verso problemi di ottimizzazione globale
con vincoli più complessi. Questo è dovuto alla complessità di questi problemi vincolati
che rende inapplicabile gran parte dei risultati e metodi proposti per i problemi del
tipo (3.1). Comunque, da punto di vista pratico e teorico, l’uso di funzioni di penalità
esatte o lagrangiani aumentati esatti può costituire uno strumento efficace per affrontare
problemi di ottimizzazione globale vincolata.
83
Una descrizione completa ed approfondita dei molti metodi proposti per risolvere pro-
blemi di ottimizzazione del tipo (3.1) richiederebbe una trattazione molto complessa
e molto lunga. Quindi, nei capitoli successivi, allo scopo di fornire un’introduzione
all’argomento, ci si limiterà a considerare solamente alcune classi particolari di metodi
di ottimizzazione globale. La scelta si è rivolta principalmente verso metodi che, da
una parte, fossero relativamente semplici da descrivere e particolarmente facili da rea-
lizzare e che, dall’altra parte, avessero le potenzialità per affrontare anche problemi di
ottimizzazione globale derivanti da applicazioni ingegneristiche “difficili”, cioè quelle in
cui la funzione obiettivo è rappresentata da una “black box” ed il numero di variabili
non è particolarmente piccolo.
Proposizione 3.1.1 Sia {xk } una sequenza di punti aleatori scelti a caso su D (cioè
vettori generati con distribuzione uniforme su D). Allora per ogni sottoinsieme A di D
tale che
meas(D) > meas(A) > 0, (3.5)
(con meas(·) misura di Lebesgue di un insieme) si ha:
lim P rob Xk ∩ A 6= ∅ = 1, (3.6)
k→∞
con Xk = {x0 , . . . , xk }.
84
da cui segue:
lim P rob Xk ∩ A 6= ∅ = 1.
k→∞
A = {x ∈ D : f (x) ≤ f ∗ + ε},
A partire dalla precedente proposizione si può anche dimostare che la sequenza dei
valori della funzione obiettivo {f (x∗k )} prodotta dal precedente algoritmo converge con
probabilità uno al valore attimo f (x∗ ) con x∗ ∈ X ∗ .
85
- Metodi di tipo multistart
Questi metodi si basano sull’idea di utilizzare la generazione di punti a caso su D
per determinare un punto in un intorno di un minimo globale e di utilizzare qualche
algoritmo di minimizzazione locale per determinare efficientemente un minimo globale.
Quindi questa classe di metodi possono essere visti o come un tentativo di globalizzare
i metodi di ottimizzazione locale oppure come un tentativo di migliorare l’efficienza del
Algoritmo di Campionamento Uniforme sfruttanto il fatto che molti algoritmi locali
possono essere attratti da un minimo globale, cioè soddisfano la seguente assunzione
(ii) limk→∞ xk = x⋆ .
Algoritmo Multistart 1.
86
Prova. Segue, nuovamente, dalla Proposizione 3.1.1. Infatti
P rob x∗k ∈ X ∗ ≥ P rob x∗k = x∗ ,
Algoritmo Multistart 2.
Nel precedente algoritmo le minimizzazioni locali non vengono applicate se il valore della
funzione obiettivo nel punto generato a caso è peggiore del miglior valore della funzione
obiettivo ottenuto dall’algoritmo. Poichè le minimizzazioni locali producono dei punti in
cui il valore delle funzione obiettivo è non peggiore rispetto al valore che si ha nel punto
iniziale, ne deriva che ogni applicazione di tali minimizzazioni produce un punto che può
essere considerato come nuova stima x∗k . Purtroppo la strategia adottata dal precedente
algoritmo può portare ad effettuare poche minimizzazioni locali. L’algoritmo seguente
cerca di seguire una strategia intermedia tra i due precedenti algoritmi multistart.
87
Algoritmo Multistart 3.
Passo 2: si scelgono Nk2 < Nk1 punti “più promettenti” e da ciascuno di questi si effettua
una minimizzazione locale;
N2
Passo 3: fra i punti yk1 , yk2 , . . . , yk k ottenuti da queste minimizzazioni locali si sceglie
quello yk a cui corrisponde il valore della funzione obiettivo più piccolo, cioè
L’idea del precedente algoritmo è quella di ridurre il più possibile il numero delle mi-
nimizzazioni locali utilizzando le informazioni che si possono ottenere sulla funzione
andando a valutarne il valore su un certo numero di punti scelti a caso. Nel Passo 2
si cerca di raggruppare (usualmente utilizzando le tecniche della “cluster analysis”) i
punti generati al Passo 1 in maniera tale che ogni gruppo sia costituito da punti che
appartengono alla regione di attrazione dello stesso minimo locale. Dopodiché per ogni
gruppo si effettua una sola minimizzazione locale.
88
Proposizione 3.1.4 Sia {mk (·)} una sequenza di misure di probabilità tali che, per
ogni sottoinsieme A di D con meas(A) > 0, soddisfano:
Π∞
k=0 1 − mk (A) = 0. (3.9)
Sia {xk } una sequenza di punti aleatori generati secondo le distribuzioni associate alle
misure di probabilità mk (·). Allora per ogni sottoinsieme A di D con meas(A) > 0 si
ha:
lim P rob Xk ∩ A 6= ∅ = 1, (3.10)
k→∞
con Xk = {x0 , . . . , xk }.
89
dove f ∗ è, come al solito, il minimo globale della f (x). Ora, se si simulasse il compor-
tamento di questo sistema e se si facesse tendere a zero la temperatura, diventerebbero
sempre più probabili gli stati x∗ del sistema che corrispondono a basse energia fino ad
arrivare alla situazione limite che:
E(x∗ ) = f (x∗ ) − f ∗ = 0.
Per avvalorare ulteriormante questa idea si può far riferimento al Teorema 1.5.5. Infatti,
nel caso in cui il minimo globale x⋆ su D sia unico, questo teorema implica (ponendo
K = 1 e k = 1/T ):
Z Z
−f (x)/T ∗ )/T
xi e dx xi e−(f (x)−f dx
x⋆i = lim ZD = lim ZD ∗ )/T
, per i = 1, . . . , n.
T →0 T →0
e−f (x)/T dx e−(f (x)−f dx
D D
(3.11)
Le precedenti uguaglianze possono essere riscritte come:
Z
xi ∗ = lim xi pT (x)dx = lim x̄i (T ) (3.12)
T →0 D T →0
dove ∗ )/T
e−f (x)/T e−(f (x)−f
pT (x) = Z =Z ∗ )/T
(3.13)
e−f (x)/T dx e−(f (x)−f dx,
D D
è una densità di probabilità e dove x̄i (T ) sono i valori medi di variabili aleatorie che
sono distribuite secondo la densità di probabilità pT (x).
Quindi, l’idea su cui si basano i metodi di ottimizzazione globale di tipo “simulated
annealing” è quella di simulare dei vettori aleatori distribuiti secondo la densità di
probabilità pT (x) data dalla (3.13). La relazione (3.12) indica che, al diminuire di T , i
vettori x generati su D secondo la funzione densità di probabilità pT (x) si avvicinano,
in media, al punto di minimo globale della f (x) su D.
Un elemento essenziale allo sviluppo dei metodi “simulated annealing” è il fatto che
punti distribuiti secondo la funzione densità di probabilità pT (x) posso essere generati
abbastanza facilmente utilizzando il metodo di Von Neumann. Tale metodo si può
applicare a tutte le funzioni densità di probabilità p(x) che hanno la seguente struttura:
dove C è una costante positiva e s : D → R+ è tale che 0 < s(x) ≤ 1, per tutti x ∈ D.
Utilizzando la definizione (3.13), si può scrivere:
∗ )/T
e−(f (x)−f
pT (x) = Z ∗ )/T
= C̃ s̃(x),
e−(f (x)−f dx
D
dove Z
∗ )/T ∗ )/T
C̃ = 1/( e−(f (x)−f dx) e s̃(x) = e−(f (x)−f .
D
90
Quindi la funzione pT (x) ha la struttura (3.14) e, perciò, si può utilizzare il metodo di
Von Neumann.
Sia T uno scalare positivo, sia α uno scalare scelto a caso su [0, 1] e sia x un vettore
scelto a caso su D, se
∗
α ≤ e−(f (x)−f )/T , (3.15)
allora il punto x è una realizzazione della variabile aleatoria distribuita secondo la
funzione densità di probabiltà
∗ )/T
e−(f (x)−f
pT (x) = Z ∗ )/T
. (3.16)
e−(f (x)−f dx
D
Purtroppo, per avere la struttura (3.14), la funzione densità di probabilità pT (x) deve
far comparire nella sua espressione il valore ottimo f ∗ della funzione obiettivo. Per la
maggior parte dei problemi di ottimo globale questa quantità non è nota “a priori”,
quindi viene normalmente sostituita con una sua sovrastima fˆ. Quindi la tecnica di
generazione di un nuovo punto viene adattata di conseguenza ottendendo un punto che
è la realizzazione di una nuova variabile aleatoria.
Sia T uno scalare positivo, sia fˆ tale fˆ ≥ f ∗ , sia α uno scalare scelto a caso su [0, 1] e
sia x un vettore scelto a caso su D, se
ˆ
α ≤ e−[f (x)−f ]+ /T , (3.17)
dove [f (x)− fˆ]+ = max{0, f (x)− fˆ}, allora il punto x è una realizzazione della variabile
aleatoria distribuita secondo la funzione densità di probabiltà p̂T (x) data
ˆ
e−[f (x)−f ]+ /T
p̂T (x) = Z . (3.18)
ˆ
e−[f (x)−f ]+ /T dx
D
La nuova funzione densità di probabilità p̂T (x) può svolgere un ruolo simile a quello della
funzione densità di probabilità originaria pT (x). Infatti, al diminuire della temperaura
T , invece di concentrarsi solamente intorno ai minimi globali si concentra intorno a
tutti i punti x ∈ D tali che f (x) ≤ fˆ. Se fˆ è il miglior valore della funzione obiettivo
ottenuto, la funzione densità di probabilità p̂T (x) assegna maggiore probabilità alle
regioni in cui si ha, comunque, un miglioramento della funzione obiettivo.
Una possibile utilizzazione di punti generati con la distribuzione con funzione densità
di probabilità p̂T (x) è descritta nel seguenta algoritmo.
91
Algoritmo Simulated Annealing.
Il precedente algoritmo può essere considerato una via di mezzo tra l’Algoritmo Multi-
start 1, dove le minimizzazione locali vengono applicate a partire da ogni punto generato
a caso su D, e l’Algoritmo Multistart 2, dove le minimizzazione locali vengono applicate
solamente a partire dai punti generati a caso su D in cui si ha un miglioramento della
funzione obiettivo. Grazie al test al Passo 2, nell’Algoritmo Simulated Annealing, le
minimizzazioni vengono applicate a partire sia dai punti generati a caso su D in cui si
ha un miglioramento della funzione obiettivo e sia da punti generati a caso su D in cui
si ha un peggioramento della funzione obiettivo ma che possono essere considerati delle
realizzazioni di variabili aleatorie distribuite secondo la funzione densità di probabilità
p̂T (x).
Per quanto riguarda le proprietà di convergenza delle sequenze dei punti generati
dall’Algoritmo Simulated Annealing si può stabilire il seguente risultato.
Proposizione 3.1.5 Se la sequenza di temperature {Tk }, utilizzate nell’Algoritmo Si-
mulated Annealing, è tale che le funzioni densità p̂Tk (x) definiscono una sequenza di
misure di probabilità {mk (·)} che soddisfano le ipotesi di Proposizione 3.1.4 e se esiste
un minimo globale x∗ non vincolato della funzione f su D per cui l’algoritmo di mini-
mizzazione locale (utilizzato al Passo 2) soddisfa la Assunzione 3.1.1, allora la sequenza
{x∗k } di punti aleatori prodotti dall’Algoritmo Simulated Annealing è tale che:
lim P rob x∗k ∈ X ∗ = 1, (3.19)
k→∞
92
Una condizione sufficiente a garantire che la sequenza delle temperature Tk prodotte
dall’algoritmo siano tali da soddisfare l’ipotesi della precedente proposizione è che esista
un ε > 0 tale che
Tk ≥ ε, per ogni k.
Condizioni più deboli possono essere determinate notando che, per dimostrare il li-
mite (3.19), è sufficiente che le misure di probabilità derivanti dalle funzioni densità
di probabilità p̂T (x) soddisfino la (3.9) in corrispodenza solamente ad insiemi A con
meas(A) > 0 e contenuti nell’intorno B(x∗ ; ε) descritto nella Assunzione 3.1.1.
La scelta della sequenza di temperature {Tk }, oltre ad essere legata alla convergen-
za dell’algoritmo, influenza anche l’efficienza computazione dell’algoritmo. Infatti per
temperature più basse si tenderà a produrre punti che hanno maggiore probabilità di
essere una buona approssimazione di un minimo globale. Tuttavia questi punti saranno
più difficili da generare (si veda il test al Passo 2). Viceversa, a temperature più alte,
si genereranno più facilmente i punti ma che, però, avranno meno probabilità di essere
buone approssimazioni di un minimo globale.
Tra le classi di metodi che si basano sull’uso di popolazioni di punti quelle più note e
più utilizzate sono:
93
- metodi di tipo “swarm”.
Per brevità, nel seguito ci si limiterà a richiamare gli approcci dei citati metodi. Questa
scelta è dovuta dalla difficoltà di dare delle trattazioni generali degli algoritmi genetici,
degli algoritmi evolutivi e dei metodi di tipo “swarm” in grado di rappresentare le varie
scelte algoritmiche particolari.
- Algoritmi genetici
Nel determinare i nuovi punti della famiglia, gli algoritmi genetici cercano di trarre
ispirazione dai processi evolutivi biologici. Infatti negli algoritmi genetici inizialmente
proposti le variabili del problema venivano codificate attarverso stringhe di binari, i
nuovi punti venivano generati attraverso la ripetizione delle seguenti due operazioni
”genetiche”::
- l’operazione di “crossover” che consiste nel selezionare a caso due punti della
popolazione (punti genitori) e tagliando le stringhe che li rappresentano in corri-
spondenza di uno stesso indice scelto a caso; i punti figli derivavano dallo scambio
delle parti delle stringhe dei genitori (figura 3.1);
Gli algoritmi genetici più recenti non utilizzano la codifica binaria ma cercano di adat-
tare le due precedenti operazioni alla codifica orginaria delle variabili del problema di
ottizzazione da risolvere. Esempi di addattamento delle operazioni di “crossover” e di
“mutation” al caso in cui i vettori hanno la loro codifica originaria sono le seguenti:
dove l’indice i è scelto a caso e α̂ = 0.1 oppure è scelto a caso tra [−0.1, 0.1].
94
1 0 0 1
0 1 1 0
1 1 1 1
1 0 1 0
0 1 0 1
0 0 0 0
1 0 1 0
x y ~
x ~
y
1 1
0 0
1 1
1 1
0 1
0 0
1 1
x x̂
95
- Algoritmi evolutivi
La caratteristica che distingue gli algoritmi evolutivi dagli algoritmi gentici è il fatto che,
ad ogni ierazione, questi algoritmi cercano di aggiornare tutti i punti della popolazione.
Più in particolare, essi cercano di sostituire ogni punto x ∈ D della popolazione con
un nuovo punto y ∈ D ottenuto dalla combinazione di operazioni di “crossover” e di
“mutation”. Se nel nuovo punto y si ha un miglioramento della funzione obiettivo allora
il punto di partenza x viene sostituito dal nuovo punto y, altrimenti nella popolazione
viene mantenuto il punto x.
Le tecniche con cui vengono questi nuovi punti variano in maniera signicativa da
algoritmo ad algoritmo. Un esempio di una tale tecnica è il seguente:
x̂ = xa + α̂(xb − xc ),
Negli algoritmi evolutivi più recenti si cerca di migliorare ogni punto della popolazione
sfruttando anche il più possibile tutte le informazioni sulla funzione obiettivo contenute
nei punti presenti nella popolazione.
Vk = {vk1 , . . . , vkm }.
96
Nel definire le posizioni degli elementi all’istante successivo k + 1 (cioè nel definire il
nuovo insieme Sk+1 ), questi metodi cercano di simulare il comportamento in natura dei
membri di uno sciame. Infatti il movimento di ciascun elemento tiene conto della espe-
rienza individuale (che può essere rappresentata dal miglior punto incontrato durante
il movimento del i-esimo membro dello sciame) e dalla esperienza globale dello sciame
(che può essere rappresentata dal miglior punto incontrato durante il movimento di
tutti i membri dello sciame).
In particolare, un esempio di formule utilizzate dai metodi di tipo “swarm” per descri-
vere il movimento della famiglia di punti è il seguente:
i
vk+1 = vki + crk1 (x̄ik − xik ) + crk2 (x∗k − xik ), i = 1, . . . , m,
xik+1 = xik + i
vk+1 , i = 1, . . . , m.
dove
f (x̄ik ) = min f (xih ),
h=1,...,k
dove c è una costante positiva, chiamata costante di accellerazione, rk1 e rk2 sono dei
scalari scelti a caso su [0, 1].
Nei metodi di tipo “swarm” più recenti, per controllare meglio l’evoluzione delle ve-
locità ed evitare che siano usati vettori vki troppo grandi, vengono introdotti ulteriori
coefficienti nella formula che fornisce le nuove velocità:
i
vk+1 = χ(wvki + c1 rk1 (x̄ik − xik ) + c2 rk2 (x∗k − xik ), i = 1, . . . , m.
dove w è una costante chiamata inerzia, c1 e c2 sono costanti positive chiamate coeffi-
ciente cognitivo e coefficiente sociale, χ è una costante chiamata fattore di costrizione.
97
dove ∂F j indica la frontiera dell’insieme F i .
D i = {x ∈ Rn : li ≤ x ≤ ui }, i ∈ Ik .
Algoritmo di Partizione
D i = {x ∈ Rn : li ≤ x ≤ ui }, per ogni i ∈ Ik ,
D h1 , D h2 , . . . , D hm .
Passo 3: si pone:
I¯p+1 = I¯p
[
{hj } \ {h},
j=1,...,m
Ik+1 = I¯p+1 ,
98
Al Passo 1, data una partizione dell’insieme ammissibile, l’algoritmo seleziona (secondo
un criterio non ancora specificato) un certo numero di sottoinsiemi (identificati dall’in-
sieme di indici Ik∗ ) appartenenti alla partizione. Nel passo 2 e nel passo 3 ognuno dei
sottointervalli selezionati viene partizionato (utilizzando una tecnica anche essa non
specificata) in un numero m ≥ 2 di sottoinsiemi.
Per effettuare un analisi di alcune proprietà generali del precedente algoritmo è neces-
sario caratterizzare le techiche di partizione utilizzabili attraverso il fatto che siano in
grado di soddisfare la seguente ipotesi.
Assunzione 3.2.1 Esistono dei scalari ε1 , ε2 e ε3 , con 0 < ε1 < ε2 < 1 e ε3 ≥ 0 , tali
che ogni insieme D h , h ∈ Ik∗ , selezionato dall’algoritmo in una qualsiasi iterazione k,
è partizionato in m sottoinsiemi D hj , j = 1, . . . , m che soddisfano:
Assunzione 3.2.2 Esistono dei scalari ε1 , ε2 e ε3 , con 0 < ε1 < ε2 < 1 e ε3 ≥ 0 , tali
che ogni insieme D h , h ∈ Ik∗ , selezionato dall’algoritmo in una qualsiasi iterazione k,
è partizionato in m sottoinsiemi D hj , j = 1, . . . , m che soddisfano:
A differenza degli algoritmi di minimizzazione locale, che sono caratterizzati dalla se-
quenza di punti che generano, l’evoluzione dell’Algoritmo di Partizione è rappresentata
dallo sviluppo dei sottoinsiemi generati. Perciò le sue proprietà teoriche possono es-
sere analizzate caratterizzando le sequenze di insiemi che vengono prodotte al tendere
all’infinito delle iterazione dell’algoritmo.
Queste sequenze di insiemi possono essere individuate facendo corrispondere ad ogni
sottoinsieme D ik , con ik ∈ Ik , della partizione dell’insieme D della generica iterazio-
ne k-esima, un particolare sottoinsieme D ik−1 , con ik−1 ∈ Ik−1 della partizione della
iterazione precedente. In particolare, l’insieme D ik−1 è definito nelle seguente maniera:
- se il sottoinsieme D ik nasce da un un processo di divisione allora D ik−1 è il sottoin-
sieme che lo ha generato;
99
Ripertendo lo stesso procedimento, si può associate all’insieme D ik−1 un insieme D ik−2 ,
con ik−2 ∈ Ik−2 , della partizione della iterazione k-2, a quest’ultimo si può associate
uno della partizione della iterazione k-3 e cosi via fino ad arrivare all’insieme D i0 = D.
Quindi, ad ogni sottoinsieme D ik , con ik ∈ Ik , della partizione della iterazione k-esima
si può far corrispondere la sequente collezione di insiemi
D i0 , D i1 , . . . , D ik−1 , D ik ,
D ik+1 ⊆ D ik .
Inoltre, ad ogni iterazione, le istruzioni del Passo 2 implicano che un determinato inter-
vallo viene suddiviso in un numero prefissato di sottointervalli e, quindi, il numero di
sottoinsiemi dell’insieme ammissibile aumenta di una quantità fissa. Tra le sequenze an-
nidate prodotte dall’algoritmo alcune sono particolarmante significative, in particolare
si ha la sequenza definizione.
Perciò, per le sequenze non strettamente annidate, esiste un indice k0 dopo il quale il
sottoinsieme D ik0 non viene più suddiviso, cioè:
100
Ricordando nuovamente la definizione della sequenza di insiemi {D ik } si ha che, per
j = 1, . . . , k,
D ij ⊂ D ij−1 oppure D ij = D ij−1 .
Applicando ripetutamente la (3.26) si ha
dove pk indica quante volte il processo di divisione del Passo 2 è intervenuto per generare
l’insieme D ik oppure, equivalentemente, quante volte si ha la stretta inclusione tra due
insiemi successivi nella sequenza D i0 , D i1 , . . . , D ik−1 , D ik .
Ora, se la sequenza {D ik } prodotta dall’algoritmo è strettamente annidata segue, per
definizione, che
lim pk = ∞,
k→∞
lim pk = ∞,
k→∞
oppure, equivalentemente
∞
D ik = {x̄}.
\
k=0
se, per ogni ε > 0, esiste un indice k̄ tale che per ogni k ≥ k̄ si ha:
101
Dopo aver descritto alcune proprietà delle sequenze di insiemi strettamente annida-
te prodotte dall’Algoritmo di Partizione, nella seguente proposizione si affronta il
problema di garantire che tale algoritmo produca almeno una di queste sequenze.
Dalle istruzioni dell’algoritmo si ha che, ad ogni iterazione, viene generata una nuova
partizione con un numero di sottoinsiemi che è aumentato di m ≥ 2 elementi rispet-
to alla partizione precedente. Quindi, per k tendente all’infinito, il numero di sot-
toinsiemi che costituiscono le partizioni tende all’infinito. Questo può essere espresso
equivalentemente con
lim |Ik | = ∞, (3.36)
k→∞
102
dove |Ik | indica la cardinalità dell’insieme Ik , cioè il numero di indici che lo compongono.
Le (3.31), (3.35) e (3.36) produrrebbero un assunrdo con la compatezza dell’insieme
ammissibile D. Infatti le (3.31), (3.35) e (3.36) implicherebbero che un insieme compat-
to può essere partizionato in un numero arbitrariamente grande di insiemi che hanno
misura uniformemente diversa da zero.
dmax
k = max kui − li k, (3.37)
i∈Ik
e l’insieme degli indici dei sottoinsiemi che hanno ampiezza massima con:
Assunzione 3.2.3 Esiste un infinito sottoinsieme di indici K ⊆ {1, 2, 3, . . .}, tale che
Ikmax ∩ Ik∗ 6= ∅ per ogni k ∈ K.
103
Proposizione 3.2.7 Si supponga che l’Assunzione 3.2.2 e l’Assunzione 3.2.3 siano
soddisfatte. Siano {D i , i ∈ Ik } la partizione generata dall’Algoritmo di Partizione
all’iterazione k-esima e dmax
k la quantità data dalla (3.37). Allora
lim dmax
k = 0. (3.39)
k→∞
k=0
Corollario 3.2.9 Si supponga che l’Assunzione 3.2.2 e l’Assunzione 3.2.3 siano soddi-
sfatte. Sia {D i , i ∈ Ik } la partizione generata dall’Algoritmo di Partizione all’iterazione
k-esima. Per ogni x̄ ∈ D e per ogni ε > 0 esiste una iterazione k dell’Algoritmo di
Partizione in cui c’è un indice hk ∈ Ik tale che:
D hk ⊂ B(x̄; ε).
Corollario 3.2.10 Si supponga che l’Assunzione 3.2.2 e l’Assunzione 3.2.3 siano sod-
disfatte. Sia {D i , i ∈ Ik } la partizione generata dall’Algoritmo di Partizione all’itera-
zione k-esima. Per ogni minimo globale x⋆ di f (x) su D e per ogni ε > 0 esiste una
iterazione k dell’Algoritmo di Partizione in cui c’è un indice hk ∈ Ik tale che:
D hk ⊂ B(x∗ ; ǫ).
104
3.2.3 Scelta dei sottoinsiemi da partizionare: sottoinsiemi più pro-
mettenti.
Nella sottosezione precedente si è considerato il caso in cui l’Algoritmo di Partizione,
nella scelta dei sottoinsiemei da partizionare, includesse uno di dimensioni massime.
In questa sottosezione si analizza una strategia diversa in cui l’idea base è quella di
selezionare i sottoinsiemi considerati più promettenti. I punti caratterizzanti di questa
scelta dei sottoinsiemi da partizionare sono i seguenti:
- per ogni sottoinsieme D i , i ∈ Ik , viene calcolato uno scalare Rki che fornisce
una stima del valore minimo che assume la funzione obiettivo nel sottoinsieme
considerato;
- vengono determinati gli insiemi D h , a cui corrispondono gli scalari Rkh a valore
più basso;
- uno dei precedenti insiemi viene suddiviso ulteriormente (in alcuni algoritmi
vengono suddivisi tutti).
Assunzione 3.2.4 Per ogni k, si ha Ik∗ = {h} dove l’indice h è tale che
Rkjk ≤ f (x∗ ).
105
Proposizione 3.2.11 Si supponga che l’Assunzione 3.2.2 e l’Assunzione 3.2.4 siano
soddisfatte. Allora, per ogni sequenza strettamente annidata di insiemi {D ik } prodotta
dall’Algoritmo di Partizione, si ha che
∞
D ik ⊆ X ∗ .
\
(3.40)
k=0
(Dove X ∗ è l’insieme dei minimi globali della funzione f sull’insieme ammissibile D.)
Prova. Si procede assumendo, per assurdo, che l’Algoritmo di Partizione produca una
sequenza strettamente annidata di insiemi per cui non valga la (3.40), cioè una sequenza
per cui si abbia:
∞
D ik = {x̄},
\
k=0
con x̄ ∈
/X ∗.
Sia K ⊆ {1, 2, . . .} il sottoinsieme degli indici delle iterazioni dell’algoritmo in cui
l’insieme D ik viene suddiviso. Dalle istruzioni dell’algoritmo si ha che, per k ∈ K:
Per ogni k ∈ K, sia Dkjk l’insieme che contiene il minimo globale x∗ ∈ X ∗ considerato
nel punto ii) dell’Assunzione 3.2.4. Dalla (3.41) si ha che, per ogni k ∈ K:
L’assunzione ii) implica l’esistenza di un indice k̄ tale che, per tutti gli indici k ∈ K e
k ≥ k̄, si ha:
Rkik ≤ Rkjk ≤ f (x∗ ). (3.43)
Facendo tendere k all’infinito ed utilizzando l’ipotesi i), si ottiene dalla (3.43):
/ X ∗.
che produrebbe un assurdo con il fatto che x̄ ∈
Assunzione 3.2.5 Per ogni k si ha Ik∗ = {h} dove l’indice h è tale che
106
T∞
i) per ogni sequenza strettamente annidata di insiemi {D ik }, con k=0 D
ik = {x̄},
si ha
lim Rkik = f (x̄);
k→∞
ii) per ogni minimo globale x∗ ∈ X ∗ esistono una costante δ > 0 ed un indice k̄ tali
che, se D jk , jk ∈ Ik , è l’insieme per cui x∗ ∈ D jk , si ha che, per ogni k ≥ k̄,
Utilizzando questa nuova assunzione si può stabilire la seguente proposizione che assi-
cura che ogni minimo globale ”attrae” una sequenza di insiemi strettamente annidata
di insiemi prodotta dall’algoritmo .
k=0
con x̄ 6= x∗ .
Dalla precedente relazione si avrebbe, come prima conseguenza, che la sequenza di
sottoinsiemi {D jk }, considerati nel punto ii) dell’Assunzione 3.2.5 e contenenti il minimo
globale x∗ , non sarebbe strettamente annidata e, quindi, esisterebbero uno scalare ε > 0
ed un indice k̃ tali che per ogni k ≥ k̃ si avrebbe:
Il punto ii) dell’Assunzione 3.2.5, (3.45) e (3.46) implicano che per tutti gli indici k ∈ K
e k ≥ max{k̄, k̃}, si ha:
107
Facendo tendere k all’infinito ed utilizzando il punto i) dell’Assunzione 3.2.5, si ottiene
dalla (3.47):
lim Rkik = f (x̄) ≤ f (x∗ ) − δ ε,
k∈K, k→∞
Corollario 3.2.13 Si supponga che l’Assunzione 3.2.2 e l’Assunzione 3.2.4 siano sod-
disfatte. Sia {D i , i ∈ Ik } la partizione generata dall’Algoritmo di Partizione all’itera-
zione k-esima. Esiste un minimo globale x⋆ di f (x) su D tale che, per ogni ε > 0, esiste
una iterazione k dell’Algoritmo di Partizione in cui c’è un indice hk ∈ Ik tale che:
D hk ⊂ B(x∗ ; ǫ).
Corollario 3.2.14 Si supponga che l’Assunzione 3.2.2 e l’Assunzione 3.2.5 siano sod-
disfatte. Sia {D i , i ∈ Ik } la partizione generata dall’Algoritmo di Partizione all’itera-
zione k-esima. Per ogni minimo globale x⋆ di f (x) su D e per ogni ε > 0 esiste una
iterazione k dell’Algoritmo di Partizione in cui c’è un indice hk ∈ Ik tale che:
D hk ⊂ B(x∗ ; ǫ).
subsectionScelta dei scalari Rki che utilizzano una sovrastima della costante di Lipschitz
della funzione obiettivo.
Efficienti valori per gli scalari Rki può essere ottenuti facilmente nel caso di in cui sia
nota una sovrastima della costante di Lipschitz della funzione da minimizzare.
Prima di tutto può essere utile richiamare la definizione di funzione Lipschitziana.
La richiesta che la funzione obiettivo sia Lipschitziana non è una ipotesi particolarmente
restrittiva. Per esempio, la seguente proposizione mostra che, su un insieme convesso e
compatto, una funzione continuamente differenziabile è sicuramente Lipschitziana.
108
Prova. Ricordando il Teorema della Media si ha che, comunque scelti y, x ∈ F:
f (y) = f (x) + ∇f (x + θ(y − x))T (y − x),
con θ ∈ [0, 1]. Dalla uguaglianza precedente si ottiene:
|f (y) − f (x)| ≤ L̃ky − xk,
dove la costante L̃ è data da
L̃ = max k∇f (x)k,
x∈F
ed è ben definita dalla continuità di ∇f e dalla compatezza del insieme F.
La prima delle due precedenti relazioni può essere sfruttata per definire gli scalari Rki
associati ai vari intervalli {D i , con i ∈ Ik }. L’idea è quella di considerare il punto
centrale xi dell’insieme D i e di usare la sottostima della funzione obiettivo data da:
fˆi (x, L) = f (xi ) − Lkx − xi k.
109
In particolare, per ogni i ∈ Ik , si può fare le seguenti scelte:
L
Rki = Ri = min fˆi (x, L) = f (xi ) − kui − li k, (3.52)
x∈D i 2
- se L è una sovrastima della costante di Lipschitz della funzione f , gli scalari Rki
soddisfano l’Assunzione 3.2.5
Prova. Riguardo i punti i) di Assunzione 3.2.4 e di Assunzione 3.2.5, la Proposizione
3.2.4 assicura che ogni sequenza {D ik } strettamente annidata prodotta dall’Algoritmo
di Partizione soddisfa:
che implicano
L i
lim Rki = lim f (xi ) − ku − li k = f (x̄),
k→∞ k→∞ 2
da cui seguono i punti i punti i) di Assunzione 3.2.4 e di Assunzione 3.2.5.
Sia x∗ un minimo globale del problema e sia {D jk } il sottoinsieme che contiene x∗ alla
k-esima iterazione. Se L è la costante di Lipschitz della funzione allora si ha:
L
f (x∗ ) ≥ f (xjk )−Lkx∗ −xjk k ≥ min f (xjk )−Lkx−xjk k = f (xjk )− kujk −ljk k = Rkjk ,
x∈D jk 2
che dimostra il punto ii) dell’Assunzione 3.2.4.
Si consideri ora il caso in cui la costante L è una sovrastima della costante di Lipschitz
cioè si abbia:
L = L̃ + δ,
110
dove L̃ è la vera costante di Lipschitz. In questo caso si ha:
δ δ L
f (x )− kujk −ljk k ≥ min f (xjk )−L̃kx−xjk k − kujk −ljk k = f (xjk )− kujk −ljk k = Rkjk ,
∗
2 x∈D jk 2 2
Lik i
Rki = f (xi ) − ku − li k. (3.53)
2
Ripetendo i passi della dimostrazione di Proposizione 3.2.17 e ricordando l’Assunzione
3.2.5 si stabilire la seguente proposizione che indica che per assicurare buone proprietà
di convergenza è sufficiente essere in grado di stimare dopo un numero finito di iterazioni
le costanti di Lipschitz locali della funzione in regioni vicino ai minimi globali.
Ljkk jk
f (xjk ) − ku − ljk k ≤ f (x∗ ),
2
allora ogni sequenze di insiemi {D ik } strettamente annidata prodotta dall’algorit-
mo è tale che: ∞
D ik ⊆ X ∗ ;
\
k=0
Ljkk jk
f (xjk ) − ku − ljk k < f (x∗ ) − δkujk − ljk k,
2
allora, per ogni x∗ ∈ X ∗ , l’algoritmo produce una sequenza di insiemi {D ik }
strettamente annidata tale che
∞
D ik = {x∗ }.
\
k=0
111
3.2.4 Algoritmo di Partizione con minimizzazioni locali.
Analogamente a quanto avvenuto nel caso degli algoritmi probabilistici anche gli algo-
ritmi che partizionano l’insieme ammissibile possono sfruttare al loro interno l’efficienza
dei metodi di ottimizzazione locale in modo da migliorare le loro proprietà teoriche e
la loro effficienza computazionale. In particolare il seguente algoritmo è un esempio di
un Algoritmo di Partizione che utilizza minimizzazioni locali.
D h1 , D h2 , . . . , D hm ,
Passo 4: si pone:
I¯p+1 = I¯p
[
{hj } \ {h},
j=1,...,m
Ik+1 = I¯p+1 ;
112
Proposizione 3.2.19 Si supponga che siano verificate l’Assunzione 3.2.2 ed una tra
l’Assunzione 3.2.3 e l’Assunzione 3.2.5. Se esiste un minimo globale x∗ della funzione
f su D per cui l’algoritmo di minimizzazione locale (utilizzato al Passo 3) soddisfa
la la Assunzione 3.1.1 allora esiste una iterazione k̄ in cui L’Algoritmo di Partizione
Multistart produce un punto x∗k̄ tale che:
x∗k̄ ∈ X ∗ . (3.54)
Prova. la prova segue direttamente dal Corollario 3.2.10 oppure dal Corollario 3.2.14
e dalla la Assunzione 3.1.1 dell’algoritmo locale.
3.2.5 Metodi che non utilizzano stime della costante di Lipschitz della
funzione obiettivo
Da quanto visto nella sezione precedente è sufficente ottenere, entro un numero sufficien-
temente grande di iterazioni, una sovrastima della costante di Lipschitz della funzione
obiettivo in un intorno di un minimo globale per garantire la convergenza di un metodo
di partizione verso il minimo globale. Tuttavia, anche quest’ultima richiesta pone dei
limiti sulla garanzia di ottenere un minimo globale utilizzando questi algoritmi. Questo
motiva il tentativo di definire degli algoritmi che cerchino di sfruttare l’ipotesi che la
funzione è Lipschitziana senza richiedere, però, nessuna informazione sulla costante di
Lipschitz. Tra questi metodi uno dei più significativi ed importanti è quello chiamato
Algoritmo Direct.
L’Algoritmo Direct, come gli algoritmi diagonali, partiziona l’insieme ammissibile D in
un numero crescente di sottointervalli D i = {x ∈ Rn : li ≤ x ≤ ui } con i ∈ Ik (da cui
il nome dividing rectangles”). Ad ogni iterazione, un certo numero di sottointervalli
vengono giudicati di interesse e, di conseguenza, vengono ulteriormente suddivisi. La
maggiore novità dell’Algoritmo Direct è il modo con cui giudica l’interesse di un sotto-
intervallo. Infatti gli algoritmi diagonali scelgono delle stime delle costanti di Lipschitz
locali e, sfruttando la Lipschitzianetà della funzione obiettivo, selezionano il sottointer-
vallo di maggiore interesse. Invece l’Algoritmo di Direct seleziona ogni sottointervallo
per cui esiste un valore della costante di Lipschitz della funzione obiettivo che rende il
sottointervallo considerato il più interessante.
In maniera simile a quanto fatto nella sezione precedente, il punto di partenza di questo
algoritmo è di misurare l’interesse di un intervallo D i calcolando il valore che assume
ai suoi punti estremi la sottostima della funzione obiettivo
113
f (xi )
fˆ i ( x , L ) = f ( x i ) − L x − x i
Di
li xi ui
interessanti i sottoinsiemi di dimensioni massime (figura (3.5)). Per valori molto piccoli
di L̄ sono giudicati interessanti i sottoinsieme a cui corrispondono i valori più piccoli
f (xi ) (figura (3.6)). Tutti gli altri sottointervalli possono essere divisi in due gruppi: il
primo costituito da sottoinsiemi per cui esiste un valore di L̄ per cui sono considerati
interessanti (figura (3.7)) e il secondo costituito da sottoinsiemi per cui non esiste un
valore di L̄ per cui sono considerati interessanti (sottoinsieme D 3 della figura (3.7)).
f (x4)
f ( x1 ) f (x3 )
f (x2)
l D1 D2 D3 D4 u
114
f (x4)
f ( x1 ) f (x3 )
f (x2)
l D1 D2 D3 D4 u
f (x4)
f (x3 )
f ( x1 )
f (x2)
l D1 D2 D3 D4 u
115
Definizione 3.2.20 Data la partizione {D i : i ∈ I} dell’insieme D, dove, per ogni
i∈I
ui + li
D i = {x ∈ Rn : li ≤ x ≤ ui }, xi = ,
2
e sia
fmin = min f (xi ).
i∈I
Un sottointervallo Dh,
h ∈ I, è detto potenzialmente ottimo se, scelto un parametro
ε > 0, esiste una costante L̄h > 0 tale che:
L̄h h L̄h i
f (xh ) − ku − lh k ≤ f (xi ) − ku − li k, per tutti i ∈ I, (3.55)
2 2
L̄h h
f (xh ) − ku − lh k ≤ fmin − ε|fmin |, (3.56)
2
Introdotta la precedente definizione, è possisibile descrivere formalmente l’Algoritmo
Direct.
116
Algoritmo Direct.
δ = max (uh − lh )j ,
1≤j≤n
J = {j = 1, . . . , n : (uh − lh )j = δ}
m = |J| (dove |J| è la cardinalità dell’insieme J);
Passo 5: si pone:
I¯p+1 = I¯p
[ [
{h0 } {hj , hj+m } \ {h},
j∈J
Ik+1 = I¯p+1 ,
Al Passo 1 l’algoritmo seleziona, tra tutti gli intervalli generati, quelli che sono poten-
zialmente ottimi. Per ognuno di questi, al Passo 2 determina l’insieme degli indici J
che corrispondono ai spigoli più lunghi dell’intervallo scelto. Al Passo 3, a partire dal
centro dell’intervallo, vengono generati dei nuovi punti lungo gli assi coordinati (i ver-
117
sori ej ) i cui indici appartengono a J e lungo i loro opposti. Questi nuovi punti vengono
generati a distanza dal centro pari ad un terzo dell’ampiezza massima dell’intervallo.
Al Passo 4, l’intervallo scelto viene diviso in sottointervalli che hanno come centri i
punti generati al Passo 3 ed il punto xh , centro dell’intervallo di partenza.
Per quanto riguarda la generazione dei sottointervalli che partizionano un intervallo
potenzialmente ottimo, si ha la seguente procedura.
Procedura di Partizione.
Passo 0: Dati l’intervallo D h , lo scalare δ, l’insieme J, i punti xh0 , xhj , xhj+m , con
j ∈ J, si pone D̃ 0 = D h , J˜0 = J e p = 0;
wℓ = min wj ,
j∈J˜p
Passo 4: si pone:
D h0 = D̃ p+1
e la procedura termina.
Nella precente procedura si determina la forma dei nuovi intervalli cercando di sfruttare
i valori della funzione obiettivo ottenuti nei punti generati al Passo 3 dell’Algoritmo
Direct. L’obiettivo è di associare dimensioni più grandi agli intervalli in cui al centro la
funzione obiettivo assume valori più piccoli. In questo modo si aumenta la possibilità
che, all’iterazione successiva dell’Algoritmo Direct, questi intervalli siano giudicati po-
tenzialmente ottimi. Per ottenere questo obiettivo la precedente procedura determina,
ad ogni passo, il versore ej lungo il quale si ha il valore più basso della funzione obiet-
118
tivo. Poi il sottointervallo in cui c’è il centro xh dell’intervallo di partenza viene diviso
in tre parti uguali lungo la direzione indentificata da ej .
In figura 3.8 è riportato un esempio di partizione dell’intervallo Dh , nell caso in cui il
valore più piccolo della funzione obiettivo è nel punto xh4 .
D
x = x
D D
x
x D D
La figura 3.9 descrive il comportamento della Procedura di Partizione nel caso in cui
l’intervallo Dh4 diventa potenzialmente ottimo.
D?@ = D? = x = x
>
D D D0 /
D D
D"! D D
D"! D0 1 D3 2 D54
L’analisi delle proprietà dell’Algoritmo Direct segue facilmente dalle seguenti due propo-
sizioni. La prima evidenzia che l’Algoritmo Direct partiziona i sottoinsiemi identificati
in maniera da soddisfare l’Assunzione 3.2.2.
119
Prova. Le istruzioni della Procedura di Partizione implicano che la norma delle
diagonali dei sottoinsiemi generati D h̃ , h̃ ∈ ∪j∈J {hj , hj+m } ∪ {h0 }, soddisfano
n n
1X
kuh̃ − lh̃ k2 = (uh̃ − lh̃ )2i ≥ (uh − lh )2i
X
i=1
9 i=1
1 h
= ku − lh k2 (3.57)
9
(uh − lh )2j
kuh̃ − lh̃ k2 ≤ (uh − lh )2i +
X
i6=j
9
n
8
(uh − lh )2i − (uh − lh )2j
X
= (3.58)
i=1
9
da cui segue
8
)kuh − lh k2 .
kuh̃ − lh̃ k2 ≤ (1 − (3.59)
9n
Dalla (3.57), dalla (3.59) e dalle istruzioni della procedura
p di partizione segue che
l’Assunzione 3.2.2 è soddisfatta con ε1 = 1/3, ε2 = 1 − 8/(9n) e ε3 = 1/3.
Prova. Sia D ℓ , ℓ ∈ Ik , un sottoinsieme tale che ℓ ∈ Ikmax (con Ikmax dato dalla (3.38 ))
e f (xℓ ) ≤ f (xi ), per ogni i ∈ Ikmax , allora il sottoinsieme D ℓ è potenzialmente ottimo.
La dimostrazione segue facilmente notando che ogni costante L̄ℓ > 0 tale che:
( )
f (xℓ ) − fmin + ε|fmin | f (xℓ ) − f (xj )
L̄ℓ > 2 max , max ,
dℓ j∈Ik \Ikmax dℓ − dj
120
Proposizione 3.2.23 Tutte le sequenze di insiemi {D ik } generate dall’Algoritmo Di-
rerct sono strettamente annidate. Inoltre, per ogni x̃ ∈ D, l’algoritmo genera una
sequenza di insiemi {D ik } strettamente annidata tale che
∞
D ik = {x̃}.
\
k=0
Dalla precedente proposizione segue che l’Algoritmo Direct genera un insieme di punti
che, al crescere delle iterazioni, tende a diventare un insieme denso su D. Tuttavia, com-
putazionalmente, l’Algoritmo Direct sembra mostrare una buona capacità di visitare
prima le regioni più interessanti dal punto della localizzazione dei minimi globali.
f (xk+1 ) ≤ f (x∗k );
121
di fuori di un fissato intorno. Infatti esse modificano la funzione obiettivo in maniera
più complessa ed accettano il fatto che la funzione obiettivo sia perturbata su tutto
l’insieme di definizione.
Le prime funzioni filled risalgono alle fine degli anni ottanta. Recentemente si è avuto
un crescente interesse verso queste funzioni che ha portato alla definizione di molte
nuove funzioni filled. La caratteristica comune di tutte la funzioni filled proposte è
il fatto di essere composte da due termini ηk (x) ed φk (x). A seconda di come sono
combinati questi termini si hanno le seguenti due classi di funzioni filled:
Nel seguito ci si limiterà a considerare solamente le funzioni filled additive che sono
state introdotte recentemente e che hanno mostrato di essere più efficienti dal punto di
vista computazionale.
I due termini ηk (x) ed φk (x), al di là delle particolari espressioni, giocano sempre ruoli
simili:
- la funzione del termine φk (x) è quello di eliminare i punti stazionari della funzione
obiettivo che corrispondono a valori della funzione più grandi di f (x∗k );
- la funzione del termine ηk (x) è quello di permettre che il punto x∗k possa essere
utilizzato come punto di partenza di una minimizzazione locale della funzione
filled.
Il termine φk (x) può dipendere da uno o più parametri e, come detto, cerca di eliminare
i punti stazionari della funzione f (x) che hanno valore della funzione obiettivo più alto o
uguale di f (x∗k ). Questo fatto, se unito alla garanzia che la funzione filled ha un minimo
globale, assicura che un algoritmo di minimizzazione locale è in grado di determinare
un punto stazionario della funzione filled in cui il valore della funzione obiettivo è più
basso di f (x∗k ).
Una scelta molto semplice e, relativamente intuitiva, è la seguente:
dove ̺ > 0 e τ > 0 sono parametri da scegliere. Tale termine è nullo in tutti i punti x in
cui f (x) ≥ f (x∗k ) − ̺, mentre negli altri punti assume valori decrescenti all’aumentare
del valore del parametro τ ,. Nella figura (3.10) è riportato un esempio di una funzione
obiettivo e della corrispondente funzione φk (x).
Un’altra scelta proposta per il termine φk (x) è la seguente:
122
f ( x)
f ( x k* )
x k* x*
ϕ k ( x ) = min { 0 , f ( x ) − f ( x k* ) + ρ }
3
ϕ k (x ) = 0
x k* x*
Figura 3.10: Esempio di una funzione obiettivo e della corrispondente funzione φk (x) =
min{0, τ (f (x) − f (x∗k ) + ̺)}3 .
123
dove, di nuovo, ̺ > 0 e τ > 0 sono parametri da scegliere. Al crescere del valore
del parametro τ questo termine tende ad assumere valori pari ad uno in punti in cui
f (x) ≥ f (x∗k ) − ̺ mentre tende ad assumere valori sempre più decrescenti in punti in
cui f (x) < f (x∗k ) − ̺.
L’altro termine ηk (x), che compare nella struttura di una funzione filled, ha il ruolo di
assicurare che il vettore x∗k non sia un punto stazionario della funzione filled oppure sia
un massimo locale stretto in modo da poter utilizzare un algoritmo di minimizzazione
locale per ottenere un punto stazionario in cui la funzione filled assume un valore più
basso rispetto a quello che aveva in x∗k .
Questa proprietà può essere garantita adottando due differenti stategie per scegliere la
struttura della funzione ηk (x). Queste due startegie danno luogo a due differenti classi
di funzioni filled:
- le funzioni filled di tipo 1, in cui il termine ηk (x) cerca di garantire che, attraverso una
minimizzazione locale, si posso ottenere un significativo spostamento dal punto
x∗k ;
- le funzioni filled di tipo 2, in cui il termine ηk (x) cerca di assicurare una “buona
struttura” alla funzione filled.
kx − x∗k k2
ηk (x) = exp (− ), (3.62)
γ2
dove γ > 0 è una fissata costante.
Utilizzando come φk (x) e ηk (x) le espressioni date da (3.60) e (da 3.62) si ottiene la
seguente funzione filled additiva:
kx − xk k2
Q(x; τ, ̺) = exp (− ) + min{0, τ (f (x) − f (x∗k ) + ̺)}3 . (3.63)
γ2
124
f ( x)
x k* x*
2
x − xk*
−
Qk ( x ) = e γ2
{
+ τ min 0 , f ( x ) − f ( x k* ) + ρ }
3
x k* x*
Figura 3.11: Esempio di una funzione obiettivo e della corrispondente funzione Qk (x).
125
Proposizione 3.3.1 Sia la funzione f due volte continuamente differenziabile su Rn
e sia dato un punto x0 ∈ Rn tale che l’insieme
sia compatto. Sia φ : R → R una funzione due volte continuamente diffenziabile e tale
che:
Allora, per ogni punto stazionario x∗k di f (x) in Lf (x0 ) e per ogni ̺ > 0, esiste un
valore τ̄ > 0 tale che, per ogni τ ≥ τ̄ , la funzione filled definita da
kx − x∗k k2
Qk (x; τ, ̺) = exp (− ) + φ(τ (f (x) − f (x∗k ) + ̺)), (3.64)
γ2
dove γ > 0 è una costante, ha le seguenti proprietà:
(i) il punto x∗k è un massimo locale isolato della funzione filled Qk (x; τ, ̺);
(ii) Qk (x; τ, ̺) non ha punti stazionari non vincolati in {x ∈ Lf (x0 ) : f (x) ≥ f (x∗k )}
eccetto x∗k ;
dove f ∗ è il valore ottimo di f (x), allora tutti i minimi globali x̌ della funzione
filled Qk (x; τ, ̺) su Lf (x0 ) sono punti stazionari non vincolati ed appartengono
alla regione {x ∈ Lf (x0 ) : f (x) < f (x∗k )}.
Come detto, nella precedente proposizione non viene specificata una struttura partico-
lare per la funzione φ(t), invece si caratterizzano delle proprietà generali che una tale
funzione deve soddisfare per garantire la tesi della proposizione. Si può notare che le
scelte (3.60) e (3.61) (cioè φ(t) = min{0, t}3 e φ(t) = 1 − e−t ) soddisfano le proprietà
(a)-(c).
Il precedente risultato mostra che, per valori opportuni dei parametri τ e ̺, le funzioni
filled (3.64) presentano l’interessante caratteristica di avere come unico punto stazio-
nario nell’insieme {x ∈ Lf (x0 ) : f (x) ≥ f (x∗k )} il punto x∗k che è un massimo locale
isolato e che, quindi, non è un “punto di attrazione” di un algoritmo di minimizzazione
locale. Mentre, se x∗k non è un minimo globale di f (x), gli altri punti stazionari della
funzione filled appartenenti a Lf (x0 ) hanno valore della funzione minore di f (x∗k ).
Dal punto di vista applicativo le funzioni filled appartenenti a questa classe presentano
alcuni difetti. Il primo è costituito dall’impossibità di dimostrare che non abbiano punti
126
stazionari al di fuori dell’insieme Lf (x0 ) e che, quindi, un algoritmo di minimizzazione
locale applicato a queste funzioni filled non possa essere attratto da questi punti sta-
zionari che possono avere valori della funzione obiettivo più alti di f (x∗k ) (per esempio,
nella figura (3.12) si indentifica l’insieme Lf (x0 ) e nella figura (3.13) si indica, con le
frecce, le zone in cui una minimizzazione locale potrebbe essere attratta). L’altro pe-
sante difetto è costituito dal fatto che hanno insiemi di livello che non sono compatti
(si può osservare il comportamento della funzione filled (3.63)) e questo inficia le pro-
prietà teoriche e computazionali degli algoritmi di minimizzazione locale da utilizzare
per minimizzarle.
Nella figura (3.14) è descritto un esempio di costruzione della precedente funzione filled
a partire da una data funzione obiettivo.
La prossima proposizione descrive le proprietà teoriche di una funzioni filled di tipo
2 che utilizzano come termine ηk (x) la (3.66) (nuovamente si usa la notazione φ̇(t) =
dφ(t)/dt).
127
f ( x)
f ( x0 )
L0 = {x ∈ R n
: f ( x ) ≤ f ( x0 ) }
x0
2
x − x k*
−
Qk ( x ) = e γ2
{
+ τ min 0 , f ( x ) − f ( x k* ) + ρ }
3
L0 = {x ∈ R n
: f ( x ) ≤ f ( x0 ) }
x0
Figura 3.13: l’insieme Lf (x0 ) = {x ∈ Rn : f (x) ≤ f (x0 )} riferito alla funzione filled Qk .
128
f ( x)
x k* x*
Vk ( x ) = x − ~
x
2
{
+ τ min 0 , f ( x ) − f ( x k* ) + ρ }
3
x k* x* ~
x
Figura 3.14: Esempio di una funzione obiettivo e della corrispondente funzione Vk (x).
129
(a) φ(t) < 0 per ogni t < 0, φ(0) = 0, φ(t) ≥ 0 per ogni t ≥ 0;
(b) |φ̇(t)| è monotonicamente decrescente per valori positivi di t e limt→∞ t|φ̇(t)| = 0;
(c) limt→∞ φ(t) = B ≥ 0;
(d) limt→−∞ φ(t) = −∞.
Allora la seguente la funzione filled:
Vk (x; τ, ̺) = kx − x̃k2 + φ(τ (f (x) − f (x∗k ) + ̺)) (3.69)
ha le seguenti proprietà:
(i) per ogni punto stazionario x∗k , per ogni ̺ > 0 e per ogni τ > 0 esiste un insieme
compatto ∆ tale che:
LVk (x0 , τ, ̺) = {x ∈ Rn : Vk (x, τ, ̺) ≤ Vk (x0 , τ, ̺)} ⊆ ∆. (3.70)
Per ogni punto stazionario x∗k di f (x), per ogni ̺ > 0 ed ogni ε > 0, esiste un valore
τ̄ > 0 tale che, per ogni τ ≥ τ̄ , si ha:
(ii) la funzione Vk (x; τ, ̺) non ha punti stazionari in {x ∈ LVk (x0 , τ, ̺) : f (x) ≥
f (x∗k )} eccetto in un intorno B(x̃; ε) di x̃, dove può esserci un minimo locale
isolato.
(iii) se x∗k non è un minimo globale di f (x) e ̺ soddisfa la condizione
0 < ̺ < f (x∗k ) − f ∗ , (3.71)
dove f ∗ è il valore ottimo di f (x), allora tutti i minimi globali x̌ della funzione
filled Vk (x; τ, ̺) appartengono alla regione {x ∈ LVk (x0 , τ, ̺) : f (x) < f (x∗k )}.
130
Vk ( x ) = x − ~
x
2
{
+ τ min 0 , f ( x ) − f ( x k* ) + ρ }
3
x k* x* ~
x
Figura 3.15: Esempio in cui una minimizzazione locale di Vk produce un punto stazionario in
cui si ha un miglioramento della funzione obiettivo.
Vk ( x ) = x − ~
x
2
{
+ τ min 0 , f ( x ) − f ( x k* ) + ρ }
3
x k* ~
x x*
Figura 3.16: Esempio in cui una minimizzazione locale di Vk produce un punto stazionario
spurio.
131