24
___________________________________________ 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON LINEAR PROGRAMMING, NLP) ___________________________________________ 8.1 Sostituzione diretta 8.2 Condizioni necessarie di estremalità locale 8.3 Ottimizzazione quadratica (Quadratic Programming, QP) 8.4 Metodi con funzione di penalità, metodi di barriera e metodo delle Lagrangiane aumentate 8.5 Successive Linear Programming (SLP) 8.6 Successive Quadratic Programming (SQP) 8.7 Metodo del gradiente ridotto generalizzato 8.8 Vantaggi e svantaggi rispettivi per i metodi NLP presentati 8.9 Software disponibile per NLP 8.10 Uso del software NLP

8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

___________________________________________

8

OTTIMIZZAZIONE NON LINEARE VINCOLATA

(NON LINEAR PROGRAMMING, NLP)

___________________________________________

8.1 Sostituzione diretta

8.2 Condizioni necessarie di estremalità locale

8.3 Ottimizzazione quadratica (Quadratic Programming, QP)

8.4 Metodi con funzione di penalità, metodi di barriera e metodo delle Lagrangiane

aumentate

8.5 Successive Linear Programming (SLP)

8.6 Successive Quadratic Programming (SQP)

8.7 Metodo del gradiente ridotto generalizzato

8.8 Vantaggi e svantaggi rispettivi per i metodi NLP presentati

8.9 Software disponibile per NLP

8.10 Uso del software NLP

Page 2: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

IL CAPITOLO 1 PRESENTA alcuni esempi di vincoli che si trovano nei problemi di ottimizzazione.

I vincoli sono classificati come vincoli di disuguaglianza o vincoli di uguaglianza, lineari o non

lineari. Il Capitolo 7 descrive il metodo del simplesso per risolvere problemi con funzioni obiettivo

lineari e vincoli lineari. Questo capitolo tratta problemi più complessi, che coinvolgono la

minimizzazione (o massimizzazione) di una funzione obiettivo non lineare soggetta a vincoli lineari

o non lineari:

1 2Minimizzare:

soggetta a: 1, 2, ...,

1, 2, ...,

T

n

i i

j j

f x x x

h b i m

g c j r

x x

x

x

(8.1)

I vincoli di disuguaglianza nel problema (8.1) possono essere trasformati in vincoli di uguaglianza,

come spiegato nel paragrafo 8.4, quindi ci concentriamo prima sui problemi che coinvolgono solo

vincoli di uguaglianza.

8.1 SOSTITUZIONE DIRETTA

Un metodo utile a trattare solo uno o due vincoli di uguaglianza lineari o non lineari consiste, quando

possibile, nel ricavare un’espressione esplicita per una variabile ed eliminare tale variabile dalla

formulazione del problema. Questo si fa per sostituzione diretta nella funzione obiettivo e nelle

equazioni dei vincoli. In molti problemi, eliminare un vincolo di uguaglianza con manipolazioni

algebriche è spesso vantaggioso rispetto a un approccio in cui viene mantenuto il vincolo e si adopera

una procedura di ottimizzazione vincolata. Per esempio, supponiamo di dover minimizzare la

seguente funzione obiettivo soggetta ad un unico vincolo di uguaglianza

2 2

1 2

1 2

Minimizzare: 4 5

soggetta a: 2 3 6

f x x

x x

x (8.2)

Sia 1x che

2x si possono eliminare facilmente. Risolvendo per 1x ,

21

6 3

2

xx

(8.3)

possiamo sostituire 1x nella funzione obiettivo ottenendo una nuova funzione obiettivo nella sola

variabile 2x :

2

2 2 2 14 36 36f x x x (8.4)

Il vincolo del problema originale è stato ora eliminato, e 2f x è una funzione non vincolata con un

solo grado di libertà (una variabile indipendente). L’uso dei vincoli per eliminare le variabili è l’idea

principale del metodo del gradiente ridotto generalizzato, come discusso nella sezione 8.7.

Possiamo ora minimizzare la funzione obiettivo (8.4), impostando la derivata prima uguale a

zero, e risolvendo per il valore ottimale di 2x :

*2

2 2

2

28 36 0 1.286df x

x xdx

Page 3: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

FIGURA 8.1

Rappresentazione grafica di una funzione di due variabili ridotta a funzione di

una sola variabile per sostituzione diretta. Il minimo non vincolato si trova nel

punto (0,0), al centro delle linee di livello.

Una volta ottenuto *

2x , si ricava direttamente *

1x dal vincolo nel problema (8.2):

*

* 21

6 31.071

2

xx

L'interpretazione geometrica del problema precedente richiede la visualizzazione della funzione

obiettivo come superficie di un paraboloide in uno spazio tridimensionale, come mostra la figura 8.1.

La proiezione della curva di intersezione del paraboloide con il piano 1 22 3 6x x , che rappresenta

il vincolo, sul piano 1 0x , che nello spazio tridimensionale rappresenta uno dei piani coordinati, è

una parabola. Cercheremo quindi il minimo della parabola risultante. La procedura di eliminazione

appena eseguita equivale quindi a proiettare la curva intersezione sul piano 1 0x . Detta curva si può

equivalentemente proiettare sul piano 2 0x , eliminando per sostituzione la variabile

2x anziché 1x .

Domanda: si ottiene lo stesso risultato per *

x ?

In problemi in cui ci sono n variabili ed m vincoli di uguaglianza, possiamo provare ad eliminare

m variabili per sostituzione diretta. Se tutti i vincoli di uguaglianza si possono rimuovere, e non vi

sono vincoli di disuguaglianza, la funzione obiettivo si può derivare rispetto a ciascuna delle

rimanenti (n − m) variabili e porre le derivate uguali a zero. In alternativa, si può adoperare un codice

numerico per l'ottimizzazione non vincolata ed ottenere *

x . Se la funzione obiettivo è convessa (come

nell'esempio precedente) ed i vincoli formano una regione convessa, ogni punto stazionario sarà un

minimo globale. Sfortunatamente, pochissimi sono i problemi nella pratica che assumono questa

forma così semplice e consentono di eliminare tutti i vincoli di uguaglianza.

Page 4: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

Pertanto, in questo capitolo discuteremo cinque importanti metodi per risolvere problemi di

ottimizzazione nonlineare vincolata:

1. Soluzione analitica delle condizioni necessarie di ottimalità (par. 8.2)

2. Metodi di penalità e metodi di barriera (par. 8.4)

3. Successive Linear Programming, SLP (par. 8.5)

4. Successive Quadratic Programming, SQP (par. 8.6)

5. Metodo del gradiente generalizzato (par. 8.7)

Il primo di questi metodi è di solito praticabile solo per problemi piccoli con poche variabili, ma

quando è applicabile può generare molte informazioni utili. Gli altri sono approcci di tipo numerico,

che vanno programmati su di un elaboratore elettronico.

8.2 CONDIZIONI NECESSARIE DEL PRIMO ORDINE

PER L'ESISTENZA DI UN ESTREMO LOCALE

Per introdurre l'argomento, consideriamo il seguente esempio.

__________________________________________________________________________

ESEMPIO 8.1 INTERPRETAZIONE GRAFICA DI UN

PROBLEMA DI OTTIMIZZAZIONE VINCOLATA

1 2 1 2

2 2

1 2 1 2

Minimizzare: ,

soggetta a: , 1 0

f x x x x

h x x x x

Soluzione. Il problema è illustrato graficamente in figura E8.1a. La regione di ammissibilità

è la circonferenza di raggio unitario. Le linee di livello della funzione obiettivo lineare sono

rette parallele a quella riportata in figura. La linea di livello con il valore minimo che abbia

un punto in comune con la circonferenza tocca la stessa nel punto * 0.707, 0.707 x , che

rappresenta il minimo globale. Il problema si può risolvere analiticamente come problema non

vincolato, eliminando 1x o

2x facendo uso dell'equazione del vincolo.

Sussistono relazioni notevoli fra i gradienti di f e di h in *

x , se *

x è un minimo locale. I

gradienti sono:

*

*

*

1 2

1,1

2 ,2 1.414, 1.414

f

h x x

x

x

x

e sono mostrati in figura E8.1b. Il gradiente della funzione obiettivo, *f x , è ortogonale al

piano tangente al vincolo in *

x . In generale, *h x è sempre ortogonale a questo piano

tangente, quindi *f x e *h x sono collineari, cioè giacciono sulla stessa retta ma hanno

versi opposti. Ciò equivale a dire che i due vettori sono multipli l'uno dell'altro:

* * *f h x x (a)

dove * 1 1.414 prende il nome di moltiplicatore di Lagrange per il vincolo h = 0.

Page 5: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

FIGURA E8.1a

Circonferenza di ammissibilità con linea di livello della

funzione obiettivo e vincolo

FIGURA E8.1b

Gradienti nel punto di ottimo e in un punto non di ottimo.

Le relazioni di cui all'equazione (a) debbono valere in qualsiasi punto di ottimo locale

di qualsiasi problema di ottimizzazione con vincoli di uguaglianza che coinvolge funzioni

sufficientemente regolari. Per vedere perché, consideriamo il punto non ottimale 1

x in figura

E8.1b. *f x non è ortogonale al piano tangente al vincolo in 1

x , e pertanto ha proiezione

non nulla sul piano tangente. Anche il negativo della proiezione del gradiente non è nullo, e

questo indica che spostamenti lungo la circonferenza producono una diminuzione del valore

della funzione obiettivo e quindi un miglioramento. Ma in un minimo locale nessuno

spostamento infinitesimo lungo il vincolo può migliorare il valore della funzione obiettivo,

Page 6: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

perciò la proiezione del gradiente deve essere nulla. Ciò naturalmente si verifica solo se

*f x è ortogonale al piano tangente.

__________________________________________________________________________

La relazione (a) nell'esempio 8.1 si può riscrivere come

* * * 0f h x x (8.5)

dove * 0.707 . Introduciamo adesso una nuova funzione, ,L x , detta funzione Lagrangiana:

,L f h x x x (8.6)

L'equazione (8.5) diventa quindi

* *,

, 0xL

xx (8.7)

perciò il gradiente della funzione Lagrangiana rispetto ad x , valutato in * *,x , è nullo. L'equazione

(8.7), insieme con la condizione di ammissibilità

* 0h x (8.8)

costituiscono le condizioni necessarie del primo ordine per l'ottimalità. Lo scalare prende il nome

di moltiplicatore di Lagrange.

Uso delle condizioni necessarie per trovare l'ottimo

Le condizioni necessarie del primo ordine (8.7) ed (8.8) si possono usare per la ricerca di una

soluzione ottima. Si assuma che *

x e * siano incognite. La funzione Lagrangiana per il problema

nell'esempio 8.1 è

2 2

1 2 1 2, 1L x x x x x

Si pongono le derivate parziali prime di L rispetto ad x uguali a zero, per scrivere

1

1

1 2 0L

xx

(8.9)

2

2

1 2 0L

xx

(8.10)

La condizione di ammissibilità (8.8) è

2 2

1 2 1 0x x (8.11)

Le condizioni necessarie del primo ordine per questo problema, (8.9) (8.11), consistono in tre

equazioni nelle tre incognite 1 2, ,x x . La loro risoluzione fornisce

1 2

1

2x x

(8.12)

che mostra che in questo caso 1x e

2x sono uguali all'estremo. Sostituendo la (8.12) nella (8.11):

Page 7: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

2 2

1 11

4 4

ovvero

22 1 (8.13)

pertanto

0.707

e

1 2 0.707x x (8.14)

il segno meno corrisponde al minimo di f, il segno più corrisponde al massimo.

__________________________________________________________________________

ESEMPIO 8.2 USO DEI MOLTIPLICATORI DI LAGRANGE

Consideriamo il problema introdotto nell'equazione (8.2):

2 2

1 2Minimizzare: 4 5f x x x (a)

1 2soggetta a: 0 2 3 6h x x x (b)

Soluzione. Sia

2 2

1 2 1 2, 4 5 2 3 6L x x x x x (c)

Applichiamo le condizioni necessarie (8.9) − (8.11)

1

1

,8 2 0

Lx

x

x (d)

2

2

,10 3 0

Lx

x

x (e)

1 2

,2 3 6 0

Lx x

x (f)

Per sostituzione, 1 4x e

2 3 10x perciò la (f) diventa

3

2 3 6 04 10

da cui infine

*

*

1

*

2

4.286

1.071

1.286

x

x

__________________________________________________________________________

Page 8: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

8.2.1 Problemi contenenti solo vincoli di uguaglianza

Un problema generale di ottimizzazione non lineare (NLP) vincolata con soli vincoli di uguaglianza,

con m vincoli ed n variabili, si può scrivere

Minimizzare:

soggetta a: , 1,...,j j

f

h b j m

x

x (8.15)

dove 1,..., nx xx è il vettore delle variabili decisionali, e ciascun valore jb è una costante.

Assumiamo che l'obiettivo f e le funzioni di vincolo jh siano dotate di derivate parziali prime

continue. In corrispondenza di ciascun vincolo j jh b definiamo un moltiplicatore di Lagrange j e

sia 1,..., m λ il vettore di questi moltiplicatori. La funzione Lagrangiana per il problema è

1

,m

j j j

j

L f h b

x λ x x (8.16)

e le condizioni necessarie del primo ordine sono

1

0, 1,...,m

j

j

ji i i

hL fi n

x x x

(8.17)

, 1,...,j jh b j m x (8.18)

Si noti che ci sono n + m equazioni nelle n + m incognite x e λ . Nel par. 8.6 descriveremo una

importante classe di algoritmi NLP detti Successive Quadratic Programming, che risolvono le

(8.17)−(8.18) con una variante del metodo di Newton.

Il problema (8.15) deve soddisfare certe condizioni, dette di qualifica dei vincoli, affinché le

(8.17)−(8.18) siano applicabili. Un requisito (Luenberger, 1984) è che i gradienti dei vincoli di

uguaglianza, valutati in *

x , siano linearmente indipendenti. A questo punto possiamo enunciare

formalmente le condizioni necessarie del primo ordine.

Condizioni necessarie del primo ordine per un estremo

Sia *

x un minimo o un massimo locale per il problema (8.15), e si assuma che i gradienti dei

vincoli * , 1,...,jh j m x siano linearmente indipendenti. Esiste allora un vettore di

moltiplicatori di Lagrange * * *

1 ,..., m λ tale che * *,x λ soddisfa le condizioni necessarie del

primo ordine (8.17)−(8.18).

Esempi che illustrano che cosa può accadere quando i gradienti dei vincoli sono linearmente

dipendenti in *

x sono riportati da Luenberger (1984). È importante ricordare che tutti i massimi e

minimi locali di un problema NLP soddisfano le condizioni necessarie del primo ordine se i gradienti

dei vincoli sono linearmente indipendenti. Inoltre, poiché tali condizioni sono necessarie ma non

sufficienti, una soluzione delle equazioni (8.17)−(8.18) non necessariamente rappresenta un minimo

o un massimo. Può trattarsi infatti anche di un punto di flesso o di sella. Questo è esattamente ciò che

accade nel caso non vincolato, dove non vi sono funzioni di vincolo 0jh . Nel caso non vincolato

le equazioni (8.17)−(8.18) si riducono a

f x 0

Page 9: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

cioè la classica condizione di gradiente nullo (si veda par. 4.5). Per stabilire se un punto che soddisfa

le condizioni necessarie del primo ordine sia o meno un minimo o un massimo, è necessario fare

ricorso alle condizioni sufficienti del secondo ordine. Queste ultime sono discusse più avanti nel

capitolo.

Moltiplicatori di Lagrange e sensitività

L'analisi di sensitività nella ottimizzazione non lineare (NLP) indica quanto una soluzione ottima

cambia al cambiare dei dati del problema. I dati comprendono qualsiasi parametro presente nella

funzione obiettivo o nelle equazioni dei vincoli. In particolare, i moltiplicatori di Lagrange *

λ

forniscono informazioni utili sull'influenza di variazioni nei secondi membri delle equazioni dei

vincoli, in analogia con quanto accade nei problemi di programmazione lineare, che possono

inquadrarsi come casi particolari di programmazione non lineare o NLP. Per illustrare l'applicazione

dei moltiplicatori di Lagrange in ottimizzazione non lineare, consideriamo di nuovo l'esempio 8.1, in

cui il secondo membro dell'equazione del vincolo, cioè il raggio della circonferenza del vincolo, viene

definito come parametro b e perturbato.

1 2 1 2

2 2

1 2 1 2

Minimizzare: ,

soggetta a: ,

f x x x x

h x x x x b

La soluzione ottimale di questo problema è ora funzione del parametro b, e possiamo quindi denotarla

come 1 2,x b x b , e analogamente per il valore ottimale del moltiplicatore, b . Le condizioni

necessarie del primo ordine (8.9)−(8.11) si riscrivono in questo caso come

11 2 0x

21 2 0x

2 2

1 2x x b

la cui soluzione è (controllare!)

1 2

* *

1 22

bx b x b

1 2* 2b b

Queste formule restituiscono il risultato precedentemente ricavato per b = 1. Il valore della funzione

obiettivo in corrispondenza del minimo, a volte chiamato valore ottimo della funzione, è

1 2

1 2* * *

1 2 2 22

bV b x b x b b

La derivata del valore ottimo della funzione è

1 2 *2

dVb b

db

cioè il negativo del valore del moltiplicatore di Lagrange nel punto di ottimo è dV db . Pertanto, se

risolviamo il problema per uno specifico valore di b (per esempio b = 1) il valore ottimo della funzione

per b prossimo a 1 può approssimarsi al primo ordine con la serie di Taylor

1 1 1

12 1

2

V b V b

b

Page 10: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

Per vedere quanto siano utili i moltiplicatori di Lagrange, consideriamo il problema generale (8.15),

con i secondi membri ib

Minimizzare: f x

soggetta a: , 1,...,i ih b i m x (8.19)

Sia 1,..., mb bb il vettore dei termini noti, e V b il valore ottimale della funzione obiettivo. Se

b è uno specifico vettore dei termini noti, e ,x b λ b è l'ottimo locale per b b , allora

j

j

V

b

b

b (8.20)

I vincoli con i massimi valori assoluti di j sono quelli per i quali il valore del secondo membro ha

l'effetto maggiore sul valore ottimo della funzione, almeno nell'intorno di b . Per questa valutazione

è importante adottare una formulazione adimensionale o normalizzata del problema, poiché le unità

adottate per le variabili possono determinare valori numerici diversi per ordine di grandezza, il che

può rivelarsi fuorviante.

8.2.2 Problemi contenenti solo vincoli di disuguaglianza

Le condizioni necessarie del primo ordine per problemi con vincoli di disuguaglianza sono dette

condizioni di Kuhn−Tucker (o anche condizioni Karush−Kuhn−Tucker). Il concetto di cono aiuta a

comprendere le condizioni di Kuhn Tucker (KTC). Dicesi cono un insieme R di punti tali che, se x

appartiene ad R, anche x appartiene ad R per 0 . Un cono convesso è un cono che costituisce

un insieme convesso. Un esempio di cono convesso in due dimensioni è rappresentato in figura 8.2.

In due e tre dimensioni, la definizione di cono convesso coincide con il significato usuale del termine.

Dalle precedenti definizioni si può dimostrare che l'insieme di tutte le combinazioni lineari non

negative di un insieme finito di vettori è un cono convesso, cioè che l'insieme

1 1 2 2 , 0, 1, ... ,m m iR i m x x x x x

è un cono convesso. I vettori 1 2, , ... , mx x x si dicono generatori del cono. Per esempio, il cono di

figura 8.2 è generato dai vettori [2, 1] e [2, 4]. Perciò, qualsiasi vettore che può esprimersi come

combinazione lineare non negativa di questi vettori giace nel cono. In figura 8.2 il vettore [4, 5] nel

cono è dato da [4, 5] = 1×[2, 1] + 1×[2, 4].

Condizioni di Kuhn−Tucker: interpretazione geometrica

Le condizioni di Kuhn−Tucker sono basate su questo fatto: in corrispondenza di ogni ottimo

vincolato, nessun piccolo cambiamento nelle variabili del problema può migliorare il valore della

funzione obiettivo. Per illustrare questa affermazione, consideriamo il seguente problema NLP:

2 2

Minimizzare: 2 1f x y x

2

1

2

3

soggetta a: , 0

, 2

, 0

g x y y x

g x y x y

g x y y

Page 11: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

FIGURA 8.2

La regione ombreggiata costituisce un cono convesso.

Il problema è illustrato geometricamente in figura 8.3. È evidente che l'ottimo si trova all'intersezione

dei primi due vincoli, al punto (1,1). Poiché questi vincoli di disuguaglianza funzionano come vincoli

di uguaglianza nel punto (1,1), essi si chiamano vincoli costrittivi (binding in inglese) o attivi nel

punto. Il terzo vincolo vale come disuguaglianza rigorosa nel punto (1,1), ed è perciò inattivo o non

costrittivo (nonbinding in inglese). Definiamo ora direzione ammissibile di ricerca un vettore tale che

uno spostamento infinitesimo lungo detto vettore non viola alcun vincolo. Nel punto (1,1) l'insieme

di tutte le direzioni ammissibili giace fra la retta x + y − 2 = 0 e la tangente a 2y x in (1,1), cioè la

retta y = 2 x − 1. In altri termini, l'insieme delle direzioni ammissibili è il cono generato da queste

rette. Detto cono è ombreggiato in figura. Il vettore −f punta nella direzione della massima velocità

di variazione di f, ed ogni piccolo spostamento che forma un angolo (definito quale positivo) di meno

di 90° con −f farà diminuire f. Perciò, all'ottimo, non può esistere alcuna direzione ammissibile che

formi un angolo minore di 90° rispetto a −f.

Consideriamo adesso la figura 8.4, in cui sono tracciati i vettori gradiente dei vincoli, g1 e g2 .

Notiamo che −f è contenuto nel cono generato da g1 e g2. Che succederebbe se così non fosse?

Se −f fosse appena sopra g2, esso formerebbe un angolo di meno di 90° con una direzione

ammissibile, appena al di sotto della retta x + y − 2 = 0. Se −f fosse appena sotto g1, esso

formerebbe un angolo di meno di 90° con una direzione ammissibile, appena al di sopra della retta y

= 2 x − 1.

Page 12: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

FIGURA 8.3

Geometria di un problema di ottimizzazione vincolata. La regione ammissibile si

trova fra i vincoli costrittivi ed i contorni stessi.

Nessuno dei due casi può verificarsi in un punto di ottimo, ed entrambi i casi sono esclusi se e solo

se −f si trova nel cono generato da g1 e g2. Naturalmente, ciò equivale a richiedere che f sia

all'interno del cono generato da −g1 e −g2. Da ciò discende la formulazione usuale delle KTC:

Se f e tutte le g sono derivabili, condizione necessaria affinché un punto *

x sia un minimo

vincolato per il problema

Minimizzare: f x

soggetta a: , 1,...,j jg c j r x

è che, in ogni *

x , f giaccia nel cono generato dai negativi dei gradienti dei vincoli attivi.

Formulazione algebrica delle condizioni di Kuhn−Tucker

Il risultato precedente si può formulare in termini algebrici. Affinché f giaccia nel cono sopra

descritto, esso deve essere una combinazione lineare dei negativi dei gradienti dei vincoli attivi; cioè,

devono esistere dei moltiplicatori di Lagrange *

ju tali che

Page 13: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

FIGURA 8.4

Gradiente della funzione obiettivo contenuto in

un cono convesso.

* * *

j j

j I

f u g

x x (8.21)

dove

* 0,ju j I (8.22)

ed I è l'insieme degli indici dei vincoli di disuguaglianza attivi.

Questi risultati si possono riformulare includendo tutti i vincoli, definendo il moltiplicatore *

ju

pari a zero se *

j jg cx . Nell'esempio precedente, *

3u , il moltiplicatore del vincolo inattivo 3g , è

zero. Allora si può dire che * 0ju se *

j jg cx , ed * 0ju se *

j jg cx , così il prodotto

* *

j j ju g c

x è zero per ogni j. Questa proprietà, cioè che i vincoli di disuguaglianza inattivi

hanno moltiplicatori uguali a zero, si chiama scarto complementare. Le condizioni (8.21) ed (8.22)

diventano quindi

* * *

1

0r

j j

j

f u g

x x (8.23)

* * *0, 0j j j ju u g c

x (8.24a)

* , 1, ...,j jg c j r x (8.24b)

Page 14: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

Le relazioni (8.23) e (8.24) sono la forma usuale in cui sono enunciate le relazioni di Kuhn−Tucker.

Moltiplicatori di Lagrange

Le condizioni KTC sono connesse strettamente con i risultati classici dei moltiplicatori di

Lagrange per problemi con vincoli di uguaglianza. Si formi la Lagrangiana

1

,r

j j j

j

L f u g c

x u x x

dove gli ju sono interpretati come moltiplicatori di Lagrange per i vincoli di disuguaglianza

j jg cx . Allora, le equazioni (8.23) ed (8.24) affermano che ,L x u deve essere stazionaria

rispetto ad x in * *,x u con i moltiplicatori *

u che soddisfano l'equazione (8.24). La stazionarietà

di L è la medesima condizione che vale nel caso di problemi con vincoli di uguaglianza. Le condizioni

aggiuntive nella (8.24) compaiono perché in questo caso i vincoli sono disuguaglianze.

8.2.3 Problemi contenenti sia vincoli di uguaglianza che di disuguaglianza

Quando sono presenti sia vincoli di uguaglianza che di disuguaglianza, le condizioni KTC si

enunciano come segue: si abbia il problema

Minimizzare: f x (8.25)

soggetta a: h , 1,...,i ib i m x (8.26a)

e

, 1,...,j jg c j r x (8.26b)

Si definiscano i moltiplicatori di Lagrange i associati con i vincoli di uguaglianza, ed i moltiplicatori

di Lagrange ju associati con i vincoli di disuguaglianza, e si formi la Lagrangiana

1 1

, ,m r

i i i j j j

i j

L f h b u g c

x λ u x x x (8.27)

Allora, se *

x è un minimo locale del problema (8.25)−(8.26), esistono i vettori di moltiplicatori di

Lagrange *

λ e *

u tali che *

x è un punto di stazionarietà per la funzione * *, ,L x λ u , cioè

* * * * * * * *

1 1

, ,m r

x i i j j

i j

L f h u g

x λ u x x x 0 (8.28)

e sussiste lo scarto complementare per le disuguaglianze:

* * *0, 0, 1, ...,j j j ju u g c j r

x (8.29)

Page 15: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

_________________________________________________________________________

ESEMPIO 8.3 APPLICAZIONE DEL METODO DEI MOLTIPLICATORI DI

LAGRANGE CON VINCOLI DI DISUGUAGLIANZA NON LINEARI

Si risolva il problema

1 2Minimizzare: f x xx

2 2

1 2soggetta a: 25g x x x (a)

con il metodo dei moltiplicatori di Lagrange.

Soluzione. La funzione Lagrangiana è

2 2

1 2 1 2, 25L u x x u x x x (b)

Le condizioni necessarie per un punto di stazionarietà sono

2 1

1

1 2

2

2 2

1 2

2 2

1 2

2 0

2 0

25

25 0

Lx ux

x

Lx ux

x

Lx x

u

u x x

(c)

Le cinque soluzioni simultanee del sistema (c) sono in Tabella E8.3. Come le calcolereste?

Le colonne due e tre della Tabella E8.3 riportano le componenti di *

x che rappresentano

le soluzioni stazionarie del problema. Si noti che le soluzioni con 0u sono minimi, quelle

con 0u sono massimi, e 0u è un punto di sella. Questo succede perché massimizzare f

equivale a minimizzare −f, e le condizioni KTC per il problema dell'equazione (a) con f

sostituito da −f sono le equazioni (c) con u che può assumere valori negativi. In figura E8.3

sono rappresentate tratteggiate le linee di livello della funzione obiettivo (iperboli), e la

regione di ammissibilità è delimitata dall'area ombreggiata racchiusa dalla circonferenza

25g x . I punti B e C corrispondono ai due minimi, D ed E ai due massimi, ed A al punto

di sella di f x .

TABELLA E8.3

Soluzioni dell'esempio 8.3 con il metodo dei moltiplicatori di Lagrange

U 1x 2x Punto C f x Note

0 0 0 A 25 0 sella

0.5 3.54

3.54

3.54

3.54

B

C

0

0

−12.5

−12.5

minimo

minimo

−0.5 3.54

3.54

3.54

3.54

D

E

0

0

+12.5

+12.5

massimo

massimo

Page 16: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

FIGURA E8.3

__________________________________________________________________________

Moltiplicatori di Lagrange e analisi di sensitività

A ciascuna iterazione, gli algoritmi NLP formano nuove stime non solo delle variabili decisionali *

x ma anche dei moltiplicatori di Lagrange λ ed u . Se in una iterazione tutti i vincoli sono soddisfatti

e le condizioni KTC sono soddisfatte entro una specificata tolleranza, l'algoritmo si arresta. In un

ottimo locale, i valori dei moltiplicatori forniscono utili informazioni sulla sensitività. Nel problema

NLP (8.25)−(8.26), sia * ,V b c il valore ottimale della funzione obiettivo f in un minimo locale,

visto come funzione dei secondi membri b e c delle equazioni dei vincoli. Sotto opportune ipotesi

(Luenberger, 1984, Cap. 10) si ha

*

* , 1, ...,i

i

Vi m

b

(8.30a)

** , 1, ...,j

j

Vu j r

c

(8.30b)

I moltiplicatori di Lagrange forniscono quindi la sensitività del valore ottimo della funzione obiettivo

rispetto ai secondi membri delle equazioni dei vincoli. Tale informazione è spesso di gran valore. Per

esempio, se il secondo membro di una equazione di un vincolo di disuguaglianza rappresenta la

capacità produttiva di un processo e questo vincolo risulta attivo, il valore ottimale del moltiplicatore

Page 17: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

corrispondente *

ju misura il decremento del costo minimo in funzione dell'aumento della capacità

produttiva. Questo si definisce valore marginale della capacità produttiva. In una situazione in cui vi

sono diversi vincoli attivi sulle capacità produttive, il confronto dei moltiplicatori corrispondenti può

dettare la priorità rispetto ad interventi di incremento della capacità produttiva. Esempi di uso dei

moltiplicatori di Lagrange per analisi di sensitività sono riportati nel capitolo 7.

I moltiplicatori di Lagrange sono molto utili per l'analisi di sensitività ai parametri per i problemi

con più vincoli. Per esempio, in una tipica raffineria si producono una serie di prodotti diversi che

devono soddisfare (o superare) determinate specifiche in termini di purezza come richiesto dai clienti.

Supponiamo di effettuare una ottimizzazione vincolata per una funzione obiettivo che include diverse

variabili che si ritrovano nel modello della raffineria, cioè quelle nell'impianto di cracking catalitico,

nella colonna di distillazione, e così via, e giungiamo a determinare un ottimo economico dipendente

dai vincoli esistenti sulla purezza dei prodotti. Dati i valori ottimali delle variabili ed i moltiplicatori

di Lagrange corrispondenti alla purezza dei prodotti, ci si può quindi porre la domanda: come

cambierebbero i profitti se il disciplinare di produzione fosse rilassato ovvero reso più rigoroso?

Rispondere a questa domanda richiede semplicemente l'esame del moltiplicatore di Lagrange

esistente per ogni vincolo. Come esempio, si consideri il caso in cui vi sono tre principali prodotti (A,

B, e C) e i valori dei moltiplicatori di Lagrange corrispondenti a ciascuno dei tre vincoli di

disuguaglianza sono calcolati come:

0.001

1.0

0.007

A

B

C

u

u

u

I valori degli *

ju mostrano che (a meno della scala) soddisfare una richiesta aggiuntiva di una unità

di prodotto B costa molto di più che per gli altri due prodotti.

Problemi di programmazione convessa

Le condizioni KTC costituiscono condizioni non solo necessarie, ma anche sufficienti di

ottimalità per problemi convessi regolari. Nel problema (8.25)−(8.26), se la funzione obiettivo f x

e le funzioni dei vincoli di disuguaglianza jg sono convesse, e le funzioni dei vincoli di uguaglianza

sono lineari, allora la regione di ammissibilità del problema è convessa, e ogni minimo locale è un

minimo globale. Inoltre, se *

x è una soluzione ammissibile, se tutte le funzioni che definiscono il

problema hanno derivate prime continue in *

x , e se i gradienti dei vincoli attivi in *

x sono

indipendenti, allora *

x è ottimale se e solo se le condizioni KTC sono soddisfatte in *

x .

Considerazioni pratiche

Molti problemi reali non soddisfano queste condizioni di convessità. In applicazioni tipiche

dell'ingegneria chimica, i vincoli di uguaglianza spesso consistono in relazioni ingresso-uscita di

unità di processo, relazioni che, spesso, sono non lineari. La convessità della regione di ammissibilità

può essere garantita solo se questi vincoli di uguaglianza sono tutti lineari. Ancora, spesso non è facile

stabilire se un vincolo di disuguaglianza o una funzione obiettivo siano o meno convessi. Perciò,

spesso non è facile stabilire se un punto che soddisfa le condizioni KTC sia un ottimo locale o un

ottimo globale o un punto di sella. Per problemi con poche variabili, a volte possiamo trovare tutte le

soluzioni KTC analiticamente e scegliere quella che ha il miglior valore per la funzione obiettivo.

Altrimenti, la maggior parte degli algoritmi numerici si limitano ad arrestarsi allorquando le

condizioni KTC sono verificate entro una specificata tolleranza. L'utente di solito specifica due

Page 18: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

tolleranze separate: una tolleranza di ammissibilità f ed una tolleranza di ottimalità o . Un punto

x si dice ammissibile entro una tolleranza f se

, per 1, ...,i i fh b i m x

e

, per 1, ...,j j fg c j r x (8.31a)

Inoltre, x si dice ottimale entro una tolleranza ,o f se è ammissibile entro f e le KTC sono

soddisfatte entro o . Ciò vuol dire che, nelle equazioni (8.23)−(8.24),

, per 1, ...,o

i

Li n

x

x,λ,u

e

, 1, ...,j ou j r (8.31b)

L'equazione (8.31b) corrisponde a rilassare il vincolo.

Condizioni necessarie e sufficienti del secondo ordine per l'ottimalità

Le condizioni necessarie di Kuhn-Tucker sono soddisfatte in ogni minimo o massimo locale e

nei punti di sella. Se * * *x ,λ ,u è un punto di Kuhn-Tucker per il problema (8.25)−(8.26), e le

condizioni sufficienti del secondo ordine sono soddisfatte in quel punto, allora l'ottimalità è garantita.

Le condizioni di ottimalità del secondo ordine coinvolgono la matrice delle derivate parziali seconde

rispetto ad x (la matrice Hessiana della funzione Lagrangiana), e si possono scrivere come segue:

2 * * * 0T

xL y x ,λ ,u y (8.32a)

per tutti i vettori y non nulli tali che

* 0J x y (8.32b)

dove *J x è la matrice le cui righe sono i gradienti dei vincoli attivi in

*x . L'equazione (8.32b)

definisce un insieme di vettori y che sono ortogonali ai gradienti dei vincoli attivi. Questi vettori

costituiscono il piano tangente ai vincoli attivi, concetto illustrato nell'Esempio 8.1. Perciò,

l'equazione (8.32a) richiede che la matrice Hessiana della Lagrangiana sia definita positiva per ogni

vettore y sul piano tangente. Se si cambia il segno " > " nella (8.32a) con il segno " ≥ ", le

(8.32a)−(8.32b) più le condizioni KTC costituiscono le condizioni necessarie del secondo ordine per

un minimo locale.

Se non vi sono vincoli attivi (e perciò *

x è un punto stazionario non vincolato), allora la (8.32a)

deve valere per tutti i vettori y , ed i moltiplicatori *

λ e *

u sono pari a zero, perciò 2 2

x xL f .

Pertanto la (8.32a) e la (8.32b) si riducono alla condizione discussa nel par. 4.5: se la matrice Hessiana

della funzione obiettivo, valutata in *

x , è definita positiva e se *

x è un punto stazionario, allora *

x è

un minimo locale non vincolato per f.

Page 19: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

_________________________________________________________________________

ESEMPIO 8.4 USO DELLE CONDIZIONI DEL SECONDO ORDINE

Come esempio, si consideri il problema

2 2

1 2Minimizzare: 1f x x x

2

1 2soggetta a: 0x x

Soluzione. Sebbene la funzione obiettivo di questo problema sia convessa, il vincolo di

disuguaglianza non individua una regione di ammissibilità convessa, come mostrato in figura

E8.4. L'interpretazione geometrica è trovare i punti nella regione di ammissibilità più vicini a

(1, 0). La funzione Lagrangiana per questo problema è

2 2 2

1 2 1 2, 1L u x x u x x x

e le condizioni KTC per un minimo locale sono

1 1

2 2 2

2

1 2

2 1 0

2 2 0

0, 0

L x x u

L x x ux

x x u

Ci sono tre soluzioni per queste condizioni: due minimi globali, in * 11 2

x , * 12 2

x , * 1u

con un valore di 0.75 della funzione obiettivo, ed un massimo locale in 0

1 0x , 0

2 0x ,

0 2u con un valore di 1.0 della funzione obiettivo. Queste soluzioni sono evidenti se si

osserva la figura E8.4.

Le condizioni sufficienti del secondo ordine mostrano che i primi due di questi tre

punti di Kuhn−Tucker sono minimi locali mentre il terzo non lo è. La matrice Hessiana della

funzione Lagrangiana è

22 0

,0 2 1

xL uu

x

L'Hessiana valutata in 0 0 0

1 20, 0, 2x x u è

22 0

0,0,20 2

xL

Le condizioni necessarie del secondo ordine richiedono che la matrice sia positiva

semidefinita sul piano tangente ai vincoli attivi in (0,0), come definito nelle espressioni

(8.32b). Qui, il piano tangente è l'insieme

0,0 0T

T g y y

Il gradiente del vincolo è

1 2 2, 1 2 e perciò 0,0 1 0T g x x x g

quindi il piano tangente in 0,0 è

1 20 0,T y y y y y

Page 20: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

FIGURA E8.4

e la forma quadratica della 8.32a, valutata sul piano tangente, è

2 * * 2

2 2

2

02 00 2

0 2

T

xL y yy

y x ,u y

Dato che 2

22y è negativa per tutti i vettori non nulli nell'insieme T, la condizione necessaria

del secondo ordine non è soddisfatta, perciò (0, 0) non è un minimo locale.

Se verifichiamo l'esistenza del minimo in * 11 2

x , * 12 2

x , * 1u , l'Hessiano della

Lagrangiana valutato in questo punto è

2 1 12 2

2 0, ,1

0 0xL

Il gradiente del vincolo in questo punto è 1 2

, perciò il piano tangente è

Page 21: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

1 2 22 0 2,1T y y y y y y

Su questo piano tangente, la forma quadratica è

2 * * 2 2

2 2

2 0 22 1 4

0 0 1

T

xL y y

y x ,u y

ed è positivo per tutti i vettori non nulli nell'insieme T, così la condizione sufficiente del

secondo ordine è verificata, ed il punto è un minimo locale.

__________________________________________________________________________

8.3 PROGRAMMAZIONE QUADRATICA (QUADRATIC PROGRAMMING, QP)

Un problema di programmazione quadratica (Quadratic Programming, QP) è un problema di

ottimizzazione in cui si minimizza una funzione obiettivo quadratica di n variabili, soggetta ad m

vincoli lineari di disuguaglianza e/o uguaglianza. Un problema QP convesso è la forma più semplice

di problema di programmazione non lineare con vincoli di disuguaglianza. Un numero di problemi

pratici di ottimizzazione, come ad esempio i minimi quadrati vincolati, o il controllo ottimo di sistemi

lineari con funzioni di costo quadratica e vincoli lineari, sono naturalmente posti come problemi QP.

In questo testo si tratta dei problemi QP come sottoproblemi per risolvere problemi generici di

ottimizzazione non lineare. Gli algoritmi usati per risolvere problemi QP contengono molte

somiglianze con quelli che si impiegano nei problemi di programmazione lineare discussi nel Cap. 7.

In notazione matriciale, un problema di programmazione quadratica si scrive

12

Minimizzare:

Soggetto a:

T Tf

x c x x Qx

Ax b

x 0

(8.33)

dove c è un vettore di coefficienti costanti, A è una matrice (m × n) e Q è una matrice simmetrica.

Il vettore x può contenere variabili "slack", così i vincoli di uguaglianza possono contenere

vincoli originariamente di disuguaglianza, convertiti in vincoli di uguaglianza mediante introduzione

di variabili "slack". I programmi sviluppati per problemi QP di solito ammettono la specificazione di

limiti sia positivi che negativi per x; abbiamo assunto x 0 solo per semplicità.

Se i vincoli di uguaglianza sono indipendenti, le condizioni KTC sono condizioni necessarie

per la soluzione ottimale del problema QP, come discusso nel par. 8.2. In aggiunta, se Q è positiva

semidefinita, la funzione obiettivo è convessa. Dato che la regione di ammissibilità di un problema

QP è definita da vincoli lineari, anche essa è sempre convessa, e quindi un problema QP è un problema

convesso e come tale un ottimo locale è anche ottimo globale. Anche, le condizioni KTC sono

condizioni sufficienti per un minimo, e una soluzione che verifica le KTC rappresenta l'ottimo

globale. Se invece Q non è positiva semidefinita, il problema può avere soluzioni non limitate o

minimi locali.

Per scrivere le KTC, cominciamo con la Lagrangiana

12

T T T TL x c x Qx λ Ax b u x

Page 22: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

e uguagliamo a zero il gradiente di L (rispetto ad T

x ) (si noti che TT λ Ax b Ax b λ

T T T A x b λ e che T Tu x x u)

0T

xL c Qx A λ u (8.34)

Ax b 0 (8.35)

x 0 u 0 (8.36)

T u x 0 (8.37)

dove iu e j sono i moltiplicatori di Lagrange. Se Q è positiva semidefinita, ogni set di variabili

* * *, ,x u λ che soddisfa le (8.34)−(8.37) è una soluzione ottimale delle (8.33).

Alcuni solutori QP usano queste KTC direttamente per trovare una soluzione che soddisfa le

equazioni. Esse sono lineari eccezion fatta per la (8.37), che viene chiamata condizione di scarto

complementare. Queste condizioni sono state discusse nel par. 8.2 per vincoli generici di

disuguaglianza. Applicata alle condizioni di non negatività di cui alla (8.33), la condizione di scarto

complementare implica che almeno una coppia di variabili ,i iu x sia nulla. Perciò, una soluzione

ammissibile alle condizioni KTC si può trovare cominciando da una soluzione inammissibile

complementare dei vincoli lineari (8.34)−(8.36) ed usando una sequenza di operazioni di pivoting

come nei metodi di LP (Programmazione Lineare, Linear Programming) per minimizzare la somma

delle inammissibilità conservando la complementarità. Poiché le (8.34) e (8.35) hanno n ed m vincoli

rispettivamente, l’effetto è quello di risolvere un problema LP con (n + m) righe. Dato che si adopera

materiale algoritmico per problemi LP, la maggior parte dei codici commerciali di Programmazione

Lineare contengono solutori QP. In alternativa, naturalmente, un problema QP può essere risolto da

qualsiasi algoritmo efficiente di NLP.

8.4 METODI DI PENALITÀ, DI BARRIERA E DELLA LAGRANGIANA

AUMENTATA

L’idea alla base di un metodo di penalità per ottimizzazione non lineare (NLP) è quella di

trasformare un problema vincolato in una successione di problemi non vincolati.

Minimizzare:

Minimizzare: , , ,0Soggetto a:

0

f

P f r

x

g hg x

h x

(8.38)

dove , , ,P f rg h è una funzione di penalità, ed r è un parametro (positivo) di penalità. Formulata

la funzione di penalità, essa viene minimizzata per una serie di valori crescenti del parametro r, che

costringono la successione dei minimi ad avvicinarsi all’ottimo del problema vincolato.

Ad esempio, consideriamo il problema

2 2

1 2

1 2

Minimizzare: 1 2

Soggetto a: 4 0

f x x

h x x

x

x

Formuliamo una nuova funzione obiettivo non vincolata:

2 2 2

1 2 1 2, 1 2 4P r x x r x x x

Page 23: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

FIGURA 8.5

Trasformazione di un problema vincolato in un problema non vincolato equivalente. Le

linee di livello della funzione di penalità non vincolata sono mostrate per vari valori di r.

dove r è uno scalare positivo chiamato parametro di penalità, ed 2

1 2 4r x x è detto termine di

penalità. Consideriamo ora una successione di problemi di minimizzazione in cui minimizziamo

,P rx per una successione crescente di valori di r tendenti all’infinito. All’aumentare di r, il termine

di penalità diviene sempre più grande per valori di x che violano i vincoli di uguaglianza (8.38). Al

crescere del termine di penalità, i valori di ix si modificano per osservare il vincolo di uguaglianza.

Al limite, il prodotto di r per 2h tende a zero e dunque il valore di f tende al valore di P, come mostra

la figura 8.5. L'ottimo vincolato è * 1.5,2.5x ed il minimo non vincolato dell'obiettivo si trova in

1,2 . Il punto 1,2 è anche il minimo di ,0P x . I punti di minimo per 1, 10, 100, 1000r sono

Page 24: 8 OTTIMIZZAZIONE NON LINEARE VINCOLATA (NON ...people.ding.unisannio.it/continillo/didattica/corsi/...FIGURA E8.1a Circonferenza di ammissibilità con linea di livello della funzione

i centri delle linee di livello ellittiche nella figura. La tabella 8.1 mostra 1,r x r ed 2x r . È evidente

che *r x x per r , il che si dimostra vero in generale (si veda Luenberger, 1984).

TABELLA 8.1

Effetto del valore del parametro

di penalità r sul minimo di f

r x1 x2 f

0 1.0000 2.0000 0.0000

0.1 1.0833 2.0833 0.0833

1 1.3333 2.3333 0.3333

10 1.4762 2.4762 0.4762

100 1.4975 2.4975 0.4975

1000 1.4998 2.4998 0.4998

x* 1.5000 2.5000 0.5000

Si noti come le curve di livello di ,P rx si addensano intorno alla retta del vincolo 1 2 4x x al

crescere di r. Questo si verifica poiché, per valori grandi di r, ,P rx aumenta rapidamente

all’aumentare delle “violazioni” del vincolo 1 2 4x x , ossia quando ci si allontana da questa retta.

Questo addensamento e “stiramento” delle curve di livello di ,P rx ha un riflesso nel numero di

condizionamento di 2 ,P r x , la matrice Hessiana di P. Come mostrato in Appendice A, il numero

di condizionamento di una matrice positiva definita è il rapporto fra l’autovalore massimo e

l’autovalore minimo. Poiché a causa dei valori grandi di r questo rapporto è grande, la matrice 2P

si dice mal condizionata. In realtà, in numero di condizionamento di 2P tende all’infinito quando

r (si veda Luenberger, 1984), così P diventa sempre più difficile da minimizzare accuratamente.

Il numero di condizionamento della matrice Hessiana è una misura importante della difficoltà di una

ottimizzazione non vincolata.