3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI

Documenti analoghi
Esercizi di ottimizzazione vincolata

Soluzione grafica di problemi PM in 2 variabili

Appendice A: un esempio di scelta del mix ottimo di produzione in presenza di vincoli 19

Programmazione Lineare

Esercizi sulla Programmazione Lineare. min. cx Ax b x 0

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.

Circonferenza. Matteo Tugnoli. February 26, 2012

Il metodo del simplesso

Geometria analitica di base (seconda parte)

COME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI

Parte V: Rilassamento Lagrangiano

Capitolo 3: Ottimizzazione non vincolata parte III. E. Amaldi DEI, Politecnico di Milano

UNITÀ DIDATTICA 5 LA RETTA

Il modello duale. Capitolo settimo. Introduzione

Funzioni implicite - Esercizi svolti

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard

Introduzione alla programmazione lineare

Soluzione dei Problemi di Programmazione Lineare

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)

Geometria analitica di base. Equazioni di primo grado nel piano cartesiano Funzioni quadratiche Funzioni a tratti Funzioni di proporzionalità inversa

5.3 Metodo dei piani di taglio

4.5 Metodo del simplesso

Metodi & Modelli per le Scelte Economiche

3.6 Metodi basati sui piani di taglio

2.6 Calcolo degli equilibri di Nash

MICROECONOMIA MATEMATICA

1 Il metodo dei tagli di Gomory

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

LA RETTA. La retta è un insieme illimitato di punti che non ha inizio, né fine.

variabili. se i limiti esistono e si chiamano rispettivamente derivata parziale rispetto ad x e rispetto ad y.

Geometria Analitica Domande e Risposte

Raccolta di esercizi svolti sulle condizioni di Kuhn Tucker

Geometria della programmazione lineare

Disequazioni di secondo grado

3 Equazioni e disequazioni.

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4

la velocità degli uccelli è di circa (264:60= 4.4) m/s)

UNITÀ DIDATTICA 2 LE FUNZIONI

Esercizi su ottimizzazione vincolata

RENDITE. Ricerca del tasso di una rendita

RETTE E PIANI. ove h R. Determinare i valori di h per cui (1) r h e α sono incidenti ed, in tal caso, determinare l angolo ϑ h da essi formato;

Problemi lineari equivalenti

Scheda elaborata dalla prof.ssa Biondina Galdi Docente di Matematica

LEZIONE 8. k e w = wx ı + w y j + w z. k di R 3 definiamo prodotto scalare di v e w il numero

L ALGORITMO DEL SIMPLESSO REVISIONATO

Appunti su Indipendenza Lineare di Vettori

Introduzione al Metodo agli Elementi Finiti (FEM) (x, y) Γ Tale formulazione viene detta Formulazione forte del problema.

5.5 Metodi generali per la soluzione di problemi

LA PROGRAMMAZIONE MATEMATICA (p.m.)

LEZIONE 9. k, tenendo conto delle formule che permettono di calcolare il prodotto scalare ed il prodotto vettoriale, otteniamo

1 Ampliamento del piano e coordinate omogenee

Calcolo Numerico con elementi di programmazione

4.3 Esempio metodo del simplesso

IL METODO DEL SIMPLESSO

C I R C O N F E R E N Z A...

2. ALGORITMO DEL SIMPLESSO

Soluzioni dei quesiti della maturità scientifica A.S. 2007/2008

Risoluzione di sistemi lineari sparsi e di grandi dimensioni

RETTE E PIANI NELLO SPAZIO

A lezione sono stati presentati i seguenti passi per risolvere un problema:

Il metodo dei Piani di Taglio (Cutting Planes Method)

Contenuto e scopo presentazione. Modelli Lineari Interi/Misti. Piani di taglio. Piani di taglio. Piani di taglio Versione 31/08/

Una circonferenza e una parabola sono disegnate nel piano cartesiano. La circonferenza ha centro nel punto

Mutue posizioni della parabola con gli assi cartesiani

valore di a: verso l alto (ordinate crescenti) se a>0, verso il basso (ordinate decrescenti) se a<0;

Argomento 7. Studio di funzione

ANALISI B alcuni esercizi proposti

GEOMETRIA PIANA. 1) sia verificata l uguaglianza di segmenti AC = CB (ossia C è punto medio del segmento AB);

Studio di circuiti contenenti diodi Uso di modelli semplificati

determinare le coordinate di P ricordando la relazione che permette di calcolare le coordinate del punto medio di un segmento si

( ) le colonne della matrice dei coefficienti, con. , risulta A 3 = A 1 + 4A 2 + 4A 5, A 4 = A 1 + A 2,

Esercizi svolti. Geometria analitica: rette e piani

10 - Applicazioni del calcolo differenziale

ESERCITAZIONE SUL CRITERIO

Massimi e minimi vincolati

M. Marra Appunti delle Lezioni di Ricerca Operativa Problemi e metodi di ottimizzazione PROBLEMI E METODI DI OTTIMIZZAZIONE

La retta nel piano cartesiano

Universita degli Studi di Ancona - Facolta di Ingegneria Laurea in Ing. Elettronica (VO) Ing. Informatica e Automatica - Ing. delle Telecomunicazioni

Le coniche: circonferenza, parabola, ellisse e iperbole.

Equazioni Polinomiali II Parabola

Massimi e minimi vincolati

Corso di Calcolo Numerico

Possibile applicazione

(x B x A, y B y A ) = (4, 2) ha modulo

3. Problemi inversi sulle annualità. Poliannualità

Introduzione alla programmazione Esercizi risolti

Elementi sulle diseguaglianze tra numeri relativi

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4

Metodi computazionali per i Minimi Quadrati

3.4 Metodo di Branch and Bound

2. APPUNTI SUI FASCI DI CIRCONFERENZE (raccolti dal prof. G. Traversi)

Piano cartesiano e Retta

Sistemi di equazioni di secondo grado

Corso di Matematica Applicata A.A

i completi l'esecuzione dell'algoritmo di programmazione dinamica per questo problema restituendo il valore ottimo e una soluzione ottima del problema

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a Homework n 28. Docente: Laura Palagi

ECONOMIA APPLICATA ALL INGEGNERIA (Docente: Prof. Ing. Donato Morea)

Esercizi sul luogo delle radici

La retta nel piano cartesiano

Le derivate parziali

Transcript:

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI ESISTENZA DI UN PUNTO DI OTTIMO VINCOLATO Il problema di ottimizzazione vincolata introdotto nel paragrafo precedente può essere formulato nel modo seguente: Min (Max) z = f(x) s.a i x = j = 1, n a ij x j b i, b i (i I) = b i (i E) x j 0 j dove: f(x) una funzione non lineare con derivate parziali continue i =[a i1,...,a in ] il vettore riga dei coefficienti del vincolo i b i R il termine noto del vincolo i-esimo I l insieme degli indici dei vincoli di disuguaglianza E l insieme degli indici dei vincoli di uguaglianza. I vincoli di disuguaglianza si definiscono saturi se sono soddisfatti con il segno di uguale. I vincoli di uguaglianza sono ovviamente sempre saturi. Si noti che la formulazione non richiede la non negatività delle variabili. Ogni eventuale vincolo di non negatività (x j 0) deve essere quindi incluso nei vincoli di disuguaglianza nella forma x j 0. Sia m il numero totale di vincoli, di disuguaglianza ed uguaglianza. Le condizioni di esistenza del punto di ottimo formulate per il caso non vincolato non sono ovviamente applicabili al caso vincolato. Le condizioni di ottimo per il caso vincolato (Condizioni di Kuhn Tucker) sono descritte in Appendice B. Esse vengono utilizzate nel test di convergenza dei metodi di soluzione. Nei paragrafi successivi si definiscono le direzioni di spostamento (ammissibili e di miglioramento) e si fornisce la loro rappresentazione geometrica nel caso bidimensionale. Si descrive poi la struttura generale dei metodi a direzione ammissibile.

64 Ottimizzazione Multidimensionale vincolata 3.4 METODI A DIREZIONE AMMISSIBILE Un problema di programmazione non lineare vincolata può essere risolto con un metodo a direzione ammissibile. Con questo termine, introdotto da Zoutendijk nel 1960, si indicano quegli algoritmi che a partire da un punto x 0 ammissibile generano una successione di punti convergente alla soluzione ottima x*. Ad ogni iterazione essi scelgono una direzione ammissibile di spostamento lungo la quale la funzione obiettivo migliora e procedono in quella direzione finché il valore della funzione obiettivo smette di migliorare oppure fino a quando si incontra la frontiera della regione ammissibile. L algoritmo termina quando si giunge in un punto del dominio di ammissibilità nel quale sono soddisfatte le condizioni di ottimo vincolato [Appendice B]. 3.4.1 DIREZIONI DI SPOSTAMENTO (AMMISSIBILI E DI MIGLIORAMENTO) Si ricordi che, dato un punto x k in una regione di ammissibilità S di R n, una direzione ammissibile di spostamento da x k è una direzione lungo la quale è possibile procedere almeno di una piccola distanza in R n senza lasciare S. Dunque d k è una direzione ammissibile di spostamento da x k se esiste un numero positivo a tale che tutti i punti x k + d k, con 0 a, appartengono ad S. Una direzione di miglioramento da x k è invece una direzione lungo la quale è possibile procedere almeno di una piccola distanza in R n per migliorare il valore di funzione obiettivo (cioè decrescere se il problema è a minimizzare, crescere se il problema è a massimizzare). Dunque d k è una direzione di miglioramento di discesa (di salita) da x k se esiste un numero positivo m tale che per i punti del tipo x k + 1 = x k + d k, con 0 m, vale la relazione f(x k+1 ) < f(x k ) [f(x k+1 ) > f(x k )]. Quindi ovviamente la direzione del gradiente positivo [ f(x k )] è di salita, la direzione del gradiente negativo [- f(x k )] è di discesa. Le direzioni di miglioramento di discesa (di salita) in un punto x k sono caratterizzate da valori negativi (positivi) della derivata direzionale, e quindi in x k si avrà: f(x k ) d k < 0 d k direzione di discesa f(x k ) d k > 0 d k direzione di salita.

Ottimizzazione Multidimensionale vincolata 65 3.4.2 DETERMINAZIONE DELLE DIREZIONI DI SPOSTAMENTO E LORO RAPPRESENTAZIONE GEOMETRICA Si noti che per determinare una direzione ammissibile a partire da x k non è necessario prendere in considerazione i vincoli non saturi. Infatti se, per qualche vincolo di disuguaglianza i I nel punto x k si verifica i x k < b i (quindi il vincolo non è saturo), è sempre possibile, a partire da x k, procedere in qualunque direzione, per almeno una piccola distanza, senza violare lo stesso vincolo i-esimo. Mentre invece, se l i-esimo vincolo è saturo in corrispondenza di x k (cioè è un vincolo di uguaglianza o un vincolo di disuguaglianza soddisfatto con il segno di uguale), bisogna verificare in quali direzioni si può effettuare lo spostamento senza violare il vincolo stesso. Si prenda dunque in considerazione l insieme B k degli indici i dei vincoli di disuguaglianza i x k b i saturi in x k (B k I). Affinché d k sia una direzione ammissibile da x k, ci devono essere punti del tipo x k + 1 =x k + d k, con >0, che soddisfano, non necessariamente in modo saturo, tutti i vincoli che sono saturi in x k, e dunque: i (x k + d k ) = i x k + i d k b i i B k = b i i E Per ognuno di questi vincoli, saturi in x k, si ha i x k = b i. Poiché > 0, le condizioni precedenti diventano: i d k 0 i B k i d k = 0 i E Queste condizioni devono essere rispettate dalle direzioni ammissibili d k di spostamento da x k. Si consideri, per esempio, il seguente problema, rappresentato in figura 3.9, relativo alla minimizzazione di una funzione di due variabili, con vincoli di disuguaglianza: Min z = (x 1 6) 2 + (x 2 2) 2 = x 1 2 + x 2 2 12x 1 4x 2 40 s.a x 1 + 2x 2 4 (3.1) 3x 1 + 2x 2 12 (3.2) x 1 0 (3.3) x 2 0 (3.4)

66 Ottimizzazione Multidimensionale vincolata FIG. 3.9 Rappresentazione geometrica delle direzioni ammissibili e di miglioramento x2 Semispazio delle direzioni di miglioramento Contorni della funzione obiettivo f(x) B (2, 3) - f(x) (0, 2) A Punto di ottimo non vincolato O (0, 0) (4, 0) C x1 Cono delle direzioni ammissibili Cono delle direzioni ammissibili di miglioramento Nel punto B (2,3) sono saturi i vincoli (3.1) e (3.2) e dunque in esso le direzioni ammissibili devono rispettare le condizioni: d 1 + 2d 2 0 3d 1 + 2d 2 0 Le direzioni che rispettano queste condizioni, traslando l origine degli assi nel vertice B, formano il cono di direzioni ammissibili riportato in figura 3.9. Le direzioni di discesa (di salita) in un punto x k sono caratterizzate, come già detto, da valori negativi (positivi) della derivata direzionale. Pertanto in B una direzione d k è di discesa se f(2,3) d k < 0 (o, che è lo stesso, - f(2,3) d k > 0). Visto che f(x) = (2x 1-12, 2x 2-4) sarà f(2,3) = (-8, 2) e dunque una direzione d k di miglioramento in B deve rispettare la condizione: f(2,3) d k = 8d 1 +2d 2 < 0.

Ottimizzazione Multidimensionale vincolata 67 Pertanto l insieme delle direzioni di miglioramento in B è dato dal semispazio 8d 1 + 2d 2 < 0, la cui frontiera è tangente al contorno di f(x) in B. Ovviamente nel punto B(2,3) la direzione di f(2,3), di salita, non è di miglioramento, lo è invece quella di - f(2,3), di discesa. L intersezione del cono delle direzioni ammissibili con il semispazio delle direzioni di miglioramento costituisce l insieme delle direzioni ammissibili e di miglioramento. Se questa intersezione non è vuota è possibile effettuare uno spostamento ammissibile e di miglioramento. Se invece essa è vuota ciò non è possibile e dunque sono verificate le condizioni di ottimalità e si è raggiunto il punto di ottimo. 3.4.3 SCELTA DELLA DIREZIONE AMMISSIBILE DI MIGLIORAMENTO Tra tutte le direzioni ammissibili e di miglioramento bisogna scegliere una direzione di spostamento. La direzione ammissibile di miglioramento (di discesa) da x k deve rispettare le condizioni, determinate nel paragrafo precedente, per le direzioni ammissibili di spostamento da x k : i d k 0 i d k = 0 i B k i E Se la direzione del gradiente non soddisfa queste condizioni, la direzione ammissibile di discesa da intraprendere può essere determinata, dunque, risolvendo un modello di programmazione non lineare, in cui le variabili sono le componenti d j della direzione d. La funzione obiettivo di questo modello è espressa dalla minimizzazione (per un problema originario di min), o massimizzazione (per un problema originario di Max), della componente del gradiente di f(x k ) su d. Per il problema a minimizzare riportato in figura 3.19, il modello è dunque il seguente: Min ( f(x k )) T d/ d s.a i d 0 i d = 0 i B k i E dove d = ( d T d ) 1/2 ( j = 1, n d j 2 ) 1/2

68 Ottimizzazione Multidimensionale vincolata La soluzione ottima d * di questo modello può essere utilizzata come direzione di spostamento ammissibile e di miglioramento. Questo modello presenta però due difficoltà: la sua funzione obiettivo è una funzione estremamente complicata nelle variabili d j e la sua soluzione ottima non è unica (se d * è soluzione ottima lo è ogni suo multiplo positivo). Entrambi questi inconvenienti possono essere eliminati aggiungendo un vincolo di normalizzazione d T d = 1. Questo nuovo vincolo implica che d =1, cioè che 1 d j 1, j = 1, n. Infatti un vettore di lunghezza 1 non può avere alcuna componente di grandezza maggiore di 1. Dunque ogni direzione che soddisfi il vincolo d T d = 1, soddisferà anche i vincoli 1 d j 1, j = 1, n. Pertanto la funzione obiettivo può essere semplificata ed il modello diventa: Min ( f(x k )) T d s.a i d 0 i d = 0 1 d j 1 i B k i E j Si può accettare dunque qualunque buona direzione ammissibile purché lungo essa il gradiente f(x k ) abbia una componente (proiezione) negativa (positiva se il problema fosse a massimizzare). E possibile apportare modifiche più complicate, che tendono a migliorare le direzioni d k e quindi a pervenire alla soluzione ottima del modello originario in un numero minore di iterazioni. Questi differenti approcci per ottenere i vettori direzione d k caratterizzano i differenti algoritmi della classe dei metodi a direzione ammissibile. 3.5 STRUTTURA GENERALE DELL ALGORITMO L approccio dei metodi a direzione ammissibile si basa dunque sulla generazione, a partire da un punto iniziale, di una successione di punti, ammissibili e di miglioramento, convergente alla soluzione ottima. Come già detto, nel punto ammissibile corrente si sceglie una direzione di spostamento ammissibile e di miglioramento e si procede nella direzione scelta finché il valore della funzione obiettivo smette di migliorare o ci si imbatte nella frontiera della regione di ammissibilità. L algoritmo termina quando si giunge in un punto del dominio di ammissibilità nel quale sono soddisfatte le condizioni di ottimo vincolato.

Ottimizzazione Multidimensionale vincolata 69 Si supponga di disporre di una soluzione ammissibile iniziale x 0 (il problema generale della determinazione di una prima soluzione ammissibile sarà esaminato nel capitolo 5). La iterazione generica di un algoritmo a direzione ammissibile è costituita dai seguenti cinque passi: 1) Definizione del punto iniziale della successione Il punto iniziale della successione x o è un punto noto della regione ammissibile. 2) Determinazione dei vincoli saturi Determinare quali vincoli sono saturi nel punto ammissibile corrente x k, ricordando che i vincoli di uguaglianza sono automaticamente saturi. Questo passo richiede semplicemente la valutazione del prodotto scalare i x k per determinare se l i-esimo vincolo è saturo in x k. 3) Determinazione di una direzione di spostamento d k da x k. Considerare solo i vincoli saturi determinati nel passo 1 e determinare con il modello descritto in 3.4.3 una buona direzione d k di spostamento ammissibile e di miglioramento (discesa per Min o salita per Max) dal punto x k, sulla quale il f(x k ) abbia una componente negativa per un problema di Min o positiva per un problema di Max. Se non esiste una direzione di tal tipo si è raggiunta la soluzione ottima e l algoritmo termina, altrimenti si va al passo 3. 4) Calcolo della lunghezza massima percorribile su d k Determinare la lunghezza massima percorribile nella direzione d k dello spostamento determinata al punto 2, senza uscire dal dominio di ammissibilità, cioè il massimo valore di per il quale il punto x k + 1 =x k + d k è ancora una soluzione ammissibile del problema. Nella determinazione di, dato che d k è una direzione ammissibile da x k, bisogna considerare solo quei vincoli di disuguaglianza che non sono saturi in x k. Per ognuno di essi bisogna imporre la condizione che nel punto x k + 1 siano soddisfatte le relazioni: i x k + 1 = i (x k + d k ) = i x k + i d k b i i non saturo Da ciascuna di queste relazioni si ottiene [(b i i x k )/( i d k ), i d k >0] i non saturo

70 Ottimizzazione Multidimensionale vincolata La condizione è verificata se è non maggiore di un limite superiore espresso da: = Min i [(b i i x k )/( i d k ), i d k >0] dove i è l indice di tutti i vincoli di disuguaglianza non saturi in x k. Se tutti i vincoli sono saturi in x k o se i d k 0 per tutti quelli che non lo sono, allora =. 5) Determinazione della funzione g( ) = f(x k + 1 ) Determinare la funzione g( ) = f(x k + 1 )= f(x k + d k ) che si percorre sulla funzione f(x k ) spostando il punto x k +1 nella direzione d k. 6) Calcolo della lunghezza dello spostamento ottimo * Determinare la lunghezza dello spostamento ottimo * in corrispondenza del quale la funzione g( ) smette di migliorare o ci si imbatte nella frontiera della regione ammissibile. Risolvere il problema di ottimizzazione monodimensionale già affrontato nell algoritmo di discesa ripida, la cui soluzione * può essere ottenuta con uno dei metodi di ottimizzazione monodimensionale descritti nel capitolo 1: Min g( ) = f(x k + d k ), con 0 In generale, è conveniente affinare l approssimazione del valore ottimo * nelle iterazioni finali dell algoritmo, quando le distanze tra punti successivi nella sequenza {x k } sono ridotte ed è necessaria una maggiore precisione. Si noti che se = e nessun valore di risulta ottimo per il problema monodimensionale, allora il problema originario ha una soluzione illimitata. 7) Calcolo di x k + 1 Si aggiorna il punto corrente calcolando x k + 1 = x k + * d k e si ritorna al passo 2. 3.5.1 Esempio Si consideri il problema riportato in figura 3.9. Un possibile percorso dell algoritmo è riportato in figura 3.10. Nel vertice O si adotta la direzione del gradiente come direzione di spostamento ammissibile e di

Ottimizzazione Multidimensionale vincolata 71 miglioramento. Lungo questa direzione si opera un passo di ottimizzazione monodimensionale e si raggiunge il punto D sulla frontiera del dominio. In figura 3.10 sono indicati, per il punto D, il cono delle direzioni ammissibili e il semipiano delle direzioni di miglioramento. La loro intersezione genera il cono delle direzioni ammissibili e di miglioramento. Tra queste ultime si sceglie la direzione corrispondente allo spigolo BC della frontiera perché ad essa corrisponde il massimo valore di derivata direzionale. Nello spostamento da D lungo la frontiera la lunghezza massima dello spostamento ci porterebbe in C. Lo step di ottimizzazione monodimensionale si ferma invece in E perché in quel punto la funzione g( 1 ) smette di migliorare. In figura 3.11 sono riportati il cono delle direzioni ammissibili ed il semipiano delle direzioni di miglioramento in E. Si può notare che non c è intersezione e quindi non è possibile individuare una direzione ammissibile e di miglioramento. Dunque in questo punto sono soddisfatte le condizioni di ottimo vincolato e l algoritmo termina. FIG. 3.10 Percorso dell algoritmo a direzione ammissibile x2 B A D O C x1 Fig. 3.11 Verifica geometrica delle condizioni di ottimalità in E x2 B A D O E C x1

72 Ottimizzazione Multidimensionale vincolata 3.5.2 Esempio numerico Si consideri il seguente problema di ottimizzazione con funzione obiettivo quadratica da massimizzare, con i vincoli costituenti la regione ammissibile riportata in fig. 3.12. Max z = f (x 1, x 2 ) = - 0.1 x 1 2-0.05x 2 2 + 6 x 1 + 2x 2 s.a x 1 + x 2 25 (1) x 1 + x 2 0 (2) x 1 24 (3) x 1 0 (4) x 2 0 (5) x2 A x 1 = (18.75, 6.25) R D x 2 = (21.65, 3.35) E B O x 0 = (0,0) x o = (0, 0) C x1

Ottimizzazione Multidimensionale vincolata 73 Si riporta nel seguito lo svolgimento dell algoritmo a direzione ammissibile per il problema posto, articolato nei passi prima descritti. I iterazione Definizione del punto iniziale della successione di punti L origine degli assi appartiene al dominio. Il punto iniziale della successione può essere x o = (0,0). f(x) = (6 0.2x 1, 2 0.1 x 2 ) e quindi f(x o ) = (6,2). Nel punto x o la direzione di f(x o ), di salita, è di miglioramento, non lo è invece quella di - f(x o ), di discesa. Determinazione dei vincoli saturi in x o Si pone x o = (0,0) in ciascun vincolo del modello. I vincoli 1 e 3 non sono soddisfatti con il segno di uguale. I vincoli 2, 4 e 5 sono soddisfatti con il segno di uguale e dunque sono saturi B o = (2, 4, 5). Determinazione delle direzioni di spostamento ammissibili in x o Le direzioni di spostamento ammissibili in x o = (0,0) devono soddisfare il sistema di vincoli seguente, relativo ai vincoli 2, 4 e 5, saturi in x 0 : d 1 + d 2 0 (2) d 1 0 (4) d 2 0 (5) Direzioni di miglioramento in x o Il problema è a massimizzare e quindi ci interessano le direzioni di miglioramento che siano di salita in x o = (0,0), caratterizzate da valori positivi della derivata direzionale. Dunque in x o = (0,0) una direzione d k è di salita se f(x o ) d k > 0. Sappiamo che f(x) = (6 0.2x 1, 2 0.1 x 2 ) e quindi f(x o ) = (6,2). Una direzione d k di salita in x o deve rispettare allora la condizione: f(x o ) d k = 6d 1 +2d 2 > 0. Pertanto l insieme delle direzioni di salita d o in x o è dato dal semispazio 6d 1 + 2d 2 > 0, la cui frontiera (6d 1 + 2d 2 = 0) è tangente al contorno di f(x) in x o.

74 Ottimizzazione Multidimensionale vincolata Scelta della direzione di spostamento da x o Bisogna costruire il modello descritto in 3.4.3 per determinare la migliore direzione d o di spostamento ammissibile e di miglioramento dal punto x o sulla quale il gradiente f(x o ) abbia una componente positiva. Il modello è il seguente: Max ( f(x o ) T d= 6d 1 +2d 2 s.a d 1 + d 2 0 d 1 0 d 2 0 1 d 1 1; 1 d 2 1 La soluzione ottima di questo modello è la direzione d o *, con componenti d 1 =1, d 2 =1, coincidente con la direzione dello spigolo OA del dominio, relativo al vincolo x 1 + x 2 0. Esiste quindi una direzione ammissibile e di miglioramento in x o e dunque il punto x o non è punto di ottimo. In questo caso il sistema dei vincoli delle direzioni ammissibili è soddisfatto dalle componenti (6, 2) del gradiente in B e dunque si può scegliere la direzione del gradiente come direzione ammissibile e di miglioramento in B. Calcolo della lunghezza massima percorribile su d o Bisogna determinare la lunghezza massima percorribile nella direzione determinata d o = f(x o ) senza uscire dal dominio di ammissibilità, cioè il massimo valore di per il quale il punto x 1 =x o + d o è ancora una soluzione ammissibile del problema. Per determinare, dato che d o è una direzione ammissibile da x o, bisogna considerare solo quei vincoli di disuguaglianza che non sono saturi in x o. Per ognuno di essi bisogna imporre la condizione che nel punto x 1 siano soddisfatte le relazioni: i x 1 = i (x o + o d o ) = i x 1 + o i d o b i i non saturo Da ciascuna relazione si ottiene [(b i i x o )/( i d o ), i d o >0]. Affinchè tutte le relazioni siano verificate deve essere non maggiore di un limite superiore espresso da:

Ottimizzazione Multidimensionale vincolata 75 = Min i [(b i i x o )/( i d o ), i d o >0] i non saturo dove i è l indice di tutti i vincoli di disuguaglianza non saturi in x o. I vincoli non saturi in x o sono i vincoli 1 e 3. Si avrà dunque = Min [(25 1 x o )/( 3 (6,2)), (24 3 x o )/( 3 (6,2))] =.. = 25/8 Determinazione della funzione g( o ) Bisogna costruire la funzione g ( ) che si percorre sulla funzione f(x k ), spostando il punto x k +1 nella direzione d k individuata nel passo precedente, in questo caso la direzione del gradiente. Bisogna costruire cioè la funzione g ( ) = f(x k + 1 )= f(x k + d k ), che in questo caso diventa: g ( o ) = f(x 1 )= f(x o + o f(x o ) = f [(0,0) + o (6,2)] = f (6 o, 2 o ). Si è ottenuta quindi una espressione di g( o ) in termini di funzione f(x), con le variabili x 1 e x 2 espresse in funzione di : x 1 =6 0, x 2 =2 0. Sostituendo queste coordinate in f(x)si ottiene g( 0 ) = 40 0-3.8 0 2 * Calcolo della lunghezza dello spostamento ottimo o Per la determinazione del punto x 2 bisogna calcolare la lunghezza dello * spostamento ottimo o in corrispondenza del quale la funzione g( o ) smette di migliorare o si giunge alla frontiera della regione ammissibile. A tal fine bisogna determinare il punto di ottimo della funzione g( o ) = 40 o - 3.8 2 o. Utilizzando un algoritmo di ottimizzazione monodimensionale si determina il valore: * o = 25/8 Calcolo di x 1 Si aggiorna il punto corrente calcolando x 1 = x o + o * d o. Dunque in questo caso: x 1 = x o + * f(x o ) = (0,0) + 25/8 (6,2) = (18.75, 6.25) x 1 = (18.75, 6.25) Si ritorna al passo 1.

76 Ottimizzazione Multidimensionale vincolata II iterazione Calcolo del gradiente in x 1 f(x) = (6 0.2x 1, 2 0.1 x 2 ). f(x 1 ) = (2.25, 1.375). Determinazione dei vincoli saturi in x 1 Si pone x 1 = (18.75, 6.25) in ciascun vincolo del modello. I vincoli 2, 3, 4 e 5 non sono soddisfatti con il segno di uguale. Il vincolo 1 è soddisfatto con il segno di uguale e dunque è saturo B 1 = (1). Determinazione delle direzioni di spostamento ammissibili in x 1 Le direzioni di spostamento ammissibili in x 1 devono soddisfare il vincolo seguente, relativo al vincolo 1 del modello, saturo in x 1 : d 1 + d 2 0 (1) Direzioni di miglioramento in x 1 Il problema è a massimizzare e quindi ci interessano le direzioni di miglioramento che siano di salita in x 1 = (18.75, 6.25), caratterizzate da valori positivi della derivata direzionale. Dunque in x 1 una direzione d k è di salita se f(x 1 ) d k > 0. Sappiamo che f(x) = f(x) = (6 0.2x 1, 2 0.1 x 2 ) e che f(x 1 ) = (2.25, 1.375). Una direzione d 1 di salita in x 1 deve rispettare allora la condizione: f(x 1 ) d 1 = 2.25d 1 + 1.375d 2 > 0. Pertanto l insieme delle direzioni di salita d 1 in x 1 è dato dal semispazio 2.25d 1 + 1.375d 2 > 0, la cui frontiera 2.25d 1 + 1.375d 2 = 0 è tangente al contorno di f(x) in x 1. Nel punto x 1 la direzione di f(x 1 ) è di salita, ma non è ammissibile, quindi bisogna individuare una direzione ammissibile e di miglioramento. Scelta della direzione di spostamento da x 1 Bisogna costruire il modello descritto in 3.4.3 per determinare la migliore direzione d 1 di spostamento ammissibile e di miglioramento dal punto x 1 sulla quale il gradiente f(x 1 ) abbia una componente positiva.

Ottimizzazione Multidimensionale vincolata 77 Il modello è il seguente: Max ( f(x 1 ) T d= 2.25d 1 + 1.375d 2 s.a d 1 + d 2 0 1 d 1 1; 1 d 2 1 La soluzione ottima di questo modello è la direzione d 1 *, con componenti d 1 =1, d 2 = -1, coincidente con la direzione dello spigolo AB del dominio, relativo al vincolo x 1 + x 2 25. Esiste quindi una direzione ammissibile e di miglioramento in x 1 e dunque il punto x 1 non è punto di ottimo. Calcolo della lunghezza massima percorribile su d 1 Bisogna determinare la lunghezza massima percorribile nella direzione determinata d 1 senza uscire dal dominio di ammissibilità, cioè il massimo valore di 1 per il quale il punto x 2 =x 1 + 1 d 1 è ancora una soluzione ammissibile del problema. Per determinare, dato che d 1 è una direzione ammissibile da x 1, bisogna considerare solo quei vincoli di disuguaglianza che non sono saturi in x 1. Per ognuno di essi bisogna imporre la condizione che nel punto x 1 siano soddisfatte le relazioni: i x 2 = i (x 1 + 1 d 1 ) = i x 1 + o i d 1 b i i non saturo Da ciascuna relazione si ottiene [(b i i x 1 )/( i d 1 ), i d 1 >0]. Affinchè tutte le relazioni siano verificate deve essere non maggiore di un limite superiore espresso da: = Min i [(b i i x 1 )/( i d 1 ), i d 1 >0] dove i è l indice di tutti i vincoli di disuguaglianza non saturi in x 1. I vincoli non saturi in x 1 sono i vincoli 2, 3, 4 e 5. Si avrà dunque: = Min [(0 2 x 1 )/( 2 (1,-1)), (24 3 x 1 )/( 3 (1,-1)), (0 4 x 1 )/( 4 (1,-1)), (0 5 x 1 )/( 5 (1,-1))] = 5.25

78 Ottimizzazione Multidimensionale vincolata Determinazione della funzione g( 1 ) Bisogna costruire ora la funzione g( k ) = f(x k + 1 )= f(x k + d k ), che in questo caso diventa: g ( 1 ) = f(x 2 )= f(x 1 + 1 f(x 1 )) = f [(18.75, 6.25) + 1 (1,-1)] = f (18.75+ 1, 6.25-1 ). Si è ottenuta in questo modo una espressione di g( 1 ) in termini di f(x), con x 1 e x 2 espresse in funzione di 1 : x 1 =18.75+ 1 x 2 = 6.25-1. Sostituendo queste coordinate nell espressione di f(x)si ottiene g( 1 ) = - 0.15 1 2 + 0.9 1 +87.9 Calcolo della lunghezza dello spostamento ottimo 1 * Per la determinazione del punto x 2 bisogna calcolare la lunghezza dello spostamento ottimo 1 * sulla funzione g( 1 ). A tal fine bisogna determinare il punto di ottimo della funzione g( 1 ) = - 0.15 1 2 + 0.9 1 +87.9. Utilizzando un algoritmo di ottimizzazione monodimensionale con intervallo di incertezza iniziale (0, 5.25) si determina 1 * = 2.9 Calcolo di x 2 Si aggiorna il punto corrente calcolando x k + 1 = x k + * d k e si ritorna al passo 1. Dunque in questo caso: x 2 = x 1 + * f(x 1 ) = (18.75, 6.25) + 2.9 (1,-1) = (21.65, 3.35) x 2 = (21.65, 3.35) III iterazione Calcolo del gradiente in x 2 f(x) = (6 0.2x 1, 2 0.1 x 2 ). f(x) = (1.67, 1.67). Determinazione dei vincoli saturi in x 2 Si pone x 2 = (21.65, 3.35) in ciascun vincolo del modello. I vincoli 2, 3, 4 e 5 non sono soddisfatti con il segno di uguale. Il vincolo 1 è soddisfatto con il segno di uguale e dunque è saturo B 2 = (1).

Ottimizzazione Multidimensionale vincolata 79 Determinazione delle direzioni di spostamento ammissibili in x 2 Le direzioni di spostamento ammissibili in x 2 devono soddisfare il vincolo seguente, relativo al vincolo 1 del modello, saturo in x 1 : d 1 + d 2 0 (1) Direzioni di miglioramento in x 2 Il problema è a massimizzare e quindi ci interessano le direzioni di miglioramento che siano di salita in x 2 = (21.65, 3.35), caratterizzate da valori positivi della derivata direzionale. Dunque in x 2 una direzione d k è di salita se f(x 2 ) d k > 0. Sappiamo che f(x) = (6 0.2x 1, 2 0.1x 2 ) e quindi f(x 2 ) = (1.67, 1.67 ). Una direzione d k di salita in x 2 deve rispettare allora la condizione: f(x 2 ) d k = 1.67 d 1 + 1.67 d 2 > 0. Pertanto l insieme delle direzioni di salita d 2 in x 2 è dato dal semispazio d 1 + d 2 > 0, la cui frontiera d 1 + d 2 = 0 è tangente al contorno di f(x) in x 1. Nel punto x 2 la direzione di f(x 2 ) è di salita, ma non è ammissibile, quindi bisogna individuare una direzione ammissibile e di miglioramento. Scelta della direzione di spostamento da x 2 Bisogna costruire il modello descritto in 3.4.3 per determinare la migliore direzione d 2 di spostamento ammissibile e di miglioramento dal punto x 2 sulla quale il gradiente f(x 2 ) abbia una componente positiva. Il modello è il seguente: Max ( f(x 2 ) T d= 1.67d 1 + 1.67d 2 s.a d 1 + d 2 0 1 d 1 1; 1 d 2 1 La funzione obiettivo di questo modello è parallela al vincolo e dunque ha infinite soluzioni, che generano tutte lo stesso valore. Tra queste la soluzione d 1 =0, d 2 = 0, per la quale ( f(x 2 ) T d = 1.67d 1 + 1.67d 2 =0. Non esiste quindi una direzione ammissibile e di miglioramento in x 2 e dunque il punto x 2 è il punto di ottimo.