PROBLEMI E METODI DI OTTIMIZZAZIONE
Transcript
PROBLEMI E METODI DI OTTIMIZZAZIONE
M. Marra – Appunti delle Lezioni di Ricerca Operativa – Problemi e metodi di ottimizzazione CAPITOLO I PROBLEMI E METODI DI OTTIMIZZAZIONE 1. Componenti di base Tutti i problemi di ottimizzazione dipendono da tre componenti di base: le variabili del problema, la funzione obiettivo ed i vincoli. Le variabili del problema sono le quantità che possono essere controllate; la funzione obiettivo rappresenta la legge con la quale il nostro sistema è rappresentabile, le condizioni di vincolo restringono il campo di valid ità della funzione obiettivo per tenere conto di effettive condizioni a cui il sistema è soggetto. 1.1. Variabili del problema Il primo passo in qualunque problema di ottimizzazione è quello di individuare le variabili del problema. Queste sono le quantità delle quali vogliamo calcolare i valori. Normalmente le variabili del problema saranno indicate con i simboli x1 , x2 , x3 , …, xn per un totale di N variabili. Una assegnazione di valori alle variabili del problema sarà ind icata mediante la notazione X = (xl, x2 , x3 ,… , xn ) Le variabili x1 , x2 , x3 ,… , xn in uno spazio ad N dimensioni rappresentano anche le coordinate di un punto. 1.2. Funzione obiettivo La funzione obiettivo è una formula per valutare il costo, il profitto, ecc.., associati ad una assegnazione di valori alle variabili del problema. La funzione obiettivo per le N variabili xl, x2 , x3 , ….., xn sarà normalmente indicata con F(x1 , x2 , x3 , ….., xn ). Ciò che ci proponiamo è di determinare l'assegnazione di valori che minimizza (o massimizza) questa funzione. Il massimo ed il minimo sono talvolta chiamati i punti estremi della funzione. Da un punto di vista matematico non esiste alcuna differenza fra la minimizzazione e la massimizzazione di una funzione F. Se il problema richiede la massimizzazione di F esso può essere convertito in un problema di minimizzazione considerando -F. La scrittura del segno meno crea l'immagine specula- Politecnico di Bari – Riservato alla circolazione interna Fig. 1 1 M. Marra – Appunti delle Lezioni di Ricerca Operativa – Problemi e metodi di ottimizzazione re della funzione perciò il massimo ed il minimo saranno determinati per le stesse variabili del problema. La fig. 1 mostra l'effetto della variazione di segno su una funzione di una sola variabile. Nel seguito ci riferiremo sempre a problemi di minimizzazione di funzioni tranne quando risulti appropriato il contrario. 1.3. Vincoli Nelle applicazioni pratiche le variabili del problema sono obbligate a variare entro limiti ben definiti. Per esempio la quantità di flusso in un condotto può variare fra zero e la capacità del condotto. Le restrizioni sono espresse come vincoli alle variabili stesse o a funzioni delle variabili e questi, nel loro insieme definiscono una regione che sarà chiamata regione ammissibile. Qualunque assegnazione (xl ,x2 , x3 ,… , xn ) che soddisfa i vincoli si dice soluzione ammissibile. La regione ammissibile può avere forme diverse, a seconda del tipo dei vincoli. 1.4. Vincoli di eguaglianza I vincoli di uguaglianza hanno la forma matematica: g(x1 , x2 , x3 ,… ,xn ) = 0 Questa forma esprime una relazione esatta fra le variabili e può anche essere usata per eliminare una delle variabili. Infatti, se conosciamo x1 , x2 , x3 , …,xn-1 il valore di xn è determinato automaticamente. Per eliminare la variabile xn l'equazione precedente può essere espressa come: xn = h(x1 , x2 , x3 , …,x n-l ) e questa espressione di xn può essere sostituita tanto nella funzione obiettivo quanto in ogni altro vincolo. Tuttavia può essere difficile o impossibile ottenere l'espressione h(x1 , x2 , x3 , …, xn-1 ), è quindi in generale preferibile trattare con la regione ammissibile definita dai vincoli di eguaglianza originari. Esempio 1. Si voglia minimizzare la funzione seguente: F(x1 , x2 ) = 2x 12 + x 22 soggetta alla condizione di vincolo 2x1 +x2 =3 La regione ammissibile è costituita da tutti i punti della retta 2xl +x2 =3 e l'ottimizzazione consiste nel trovare il valore minimo di 2x 12 + x 22 lungo questa retta. Potremmo anche esprimere x2 in funzione di x1 come x2 =3-2x1 e sostituire quindi questa espressione nella funzione obiettivo ottenendo 2 2 Fig. 2 2 F(x1 ) = 2x1 + (3-2x1 ) = 6x1 – 12 x1 + 9 Potremmo a questo punto minimizzare direttamente F(x) come funzione non soggetta ad alcun vincolo. Politecnico di Bari – Riservato alla circolazione interna 2 M. Marra – Appunti delle Lezioni di Ricerca Operativa – Problemi e metodi di ottimizzazione 1.5. Vincoli di diseguaglianza I vincoli di diseguaglianza sono espressi nella forma g(x1 , x2 , x3 , …,xn ) ≤ 0 L'equazione g(x1 , x2 , x3 , …,xn ) = 0 rappresenta una superficie in N dimensioni - una curva nel piano a due dimensioni - ed i vincoli costringono la soluzione a giacere da un lato della superficie. Esempio 2 Un problema in due variabili x1 , ed x2 ha i seguenti vincoli: 2x1 -x2 -2≥0 x 12 -4x1 +x 22 ≤0 x1 ≥0 x2 ≥0 si individui graficamente la regione ammissibile. La regione ammissibile è individuata dall’area tratteggiata in fig. 3. Essa è stata determinata disegnando le curve e le rette corrispondenti alle disequazioni scritte come equazioni ed analizzando per ogni punto da che parte della curva giace la regione ammissib ile. Il primo vincolo rappresenta una retta e la regione ammissibile è quella alla destra della retta, così come è stata disegnata in fig. 3. Il secondo vincolo richiede che la soluzione che la soluzione cada all’interno della circonferenza. Il terzo e quarto vincolo richiedono che la soluzione cada nel primo quadrante. Essa è stata determinata disegnando le curve e le rette corrispondenti alle disequazioni scritte come equazioni ed analizzando per ogni punto da che parte della curva giace la regione ammissibile. Il primo vincolo rappresenta una retta e la regione ammissibile è quella alla destra della retta, così come è stata disegnata in fig. 3. Il secondo vincolo richiede che la soluzione cada all’interno della circonferenza. Il terzo e quarto vincolo richiedono che la soluzione cada nel primo quadrante. fig. 3 1.6. – Vincoli discreti I vincoli discreti richiedono che le variabili assumano uno dei valori di una possibile serie. Politecnico di Bari – Riservato alla circolazione interna 3 M. Marra – Appunti delle Lezioni di Ricerca Operativa – Problemi e metodi di ottimizzazione Esempio 3 - Un problema in due variabili x1 , x2 ha i tre vincoli seguenti: x1 ≥1 con x1 intero 5≤x2 ≤8 con x2 intero ed x1 <x2 . Si disegni la regione ammissibile. La regione ammissibile è rappresentata dalla serie dei possibili punti disegnata in fig. 4. Fig. 4 1.7. Regioni disgiunte alternative La regione ammissibile può consistere in un certo numero di regioni disgiunte e si richiede che la soluzione sia in una di queste regioni. Talvolta questi vincoli sono chiamati “either-or”. Se ci sono m possibili regioni indicate con R1 , R2 ,…,Rm, richiediamo che la soluzione sia in R1 o R2 o …..o in Rm. Ciascuna regione Ri sarà definita mediante tipi di vincolo già discussi. Esempio 5 – Un problema in due variabili x1 e x2 ha due condizioni di vincolo alternative. Si richiede che o o x1 ≥x2 +2 x2 ≥x1 +5 La regione ammissibile per questo problema è quella tratteggiata in fig. 5. Infatti Fig. 5 nella posizione A è soddisfatto il primo vincolo ma non il secondo. Nella posizione C è soddisfatto il secondo vincolo ma non il primo. Nella posizione B non è soddisfatto né il primo vincolo né il secondo vincolo. 2. – Il problema generale dell’ottimizzazione Il problema generale dell’ottimizzazione è quello di determinare i valori di N variabili x1 , x2 , x3 , …, xN in modo da minimizzare una funzione obiettivo F(x1 ,x2 ,…, xN) sogge tta a giacere all’interno di una regione G che include ogni condizione di vincolo. Le condizioni di vincolo definiscono tutte le soluzioni ammissibili. Normalmente il pro- Politecnico di Bari – Riservato alla circolazione interna 4 M. Marra – Appunti delle Lezioni di Ricerca Operativa – Problemi e metodi di ottimizzazione blema si esprime nella maniera seguente: determinare i valori (x1 , x2 , …, xN) che minimizzano la funzione: F(x1 , x2 , …, xN) con (x1 , x2 , …, xN)∈G. Una assegnazione di valori che risolve questo problema è chiamata una soluzione ottima. 2.1. – Ottimo globale L’ottimo globale è la soluzione propria di un problema di ottimizzazione. E’ l’assegnazione di valori che minimizza la funzione nella regione ammissibile. Il minimo globale è caratterizzato perciò dalla seguente disequa zione. La soluzione (x1 * , x2 * , …, xN* ) è un minimo globale se F(x1 * ,x2 * , …, xN* ) ≤ F(x1 , x2 , …,xN) per ogni (x1 , x2 , …, xN)∈G. 2.2. – Ottimo locale In molti problemi non è possibile trovare l’ottimo globale in quanto il tempo necessario per ricercarlo potrebbe essere molto lungo. In questi casi perciò noi definiamo un ottimo locale come una soluzione che è un ottimo all’interno di una regione che è contenuta nella regione ammissibile e che quindi costituisce soltanto una parte di essa. All’interno di una regione ammissibile ci può essere più di un ottimo locale. Le condizioni perché si abbia una soluzione relativa ad un ottimo locale si esprimono in maniera simile a quelle relative ad un ottimo globale. La soluzione (x1 -, x2 -, x3 -, …, xN-) è un minimo locale se F(x1 -, x2 -, …, xN-) ≤ F(x1 , x2 , …, xN) per ogni (x1 -, x2 -, …, xN-) ∈ g, con g ⊂ G. La regione locale può essere determinata mediante delle condizioni matematiche o regole empiriche. Le funzioni continue in due variabili possono avere “ingobbamenti” locali in corrispondenza di ciascuno dei quali si può individuare un ottimo locale. Le cime delle colline o delle montagne su una carta geografica sono dei massimi locali; soltanto il picco più alto dell’intera carta fornisce il massimo globale. Questi tipi di ottimo locale di funzioni cont inue possono essere definiti matematicamente, ma in alc une situazioni, quali ad esempio quelle relative a problemi di permutazione, dovremo definire l’ottimo locale in maniera più arbitraria. 3. – La ricerca dell’ottimo La soluzione ottima si trova conducendo una ricerca entro la regione ammissibile. Il procedimento consiste normalmente in due passi successivi. Con il primo passo si determina una soluzione iniziale ammissibile, col secondo passo la procedura migliora la soluzione iniziale fino a raggiungere l’ottimo. Spesso una soluzione iniziale è nota per Politecnico di Bari – Riservato alla circolazione interna 5 M. Marra – Appunti delle Lezioni di Ricerca Operativa – Problemi e metodi di ottimizzazione esperienza pratica; in questi casi si passa direttamente alla applicazione del secondo stadio della procedura. Ciò spiega i motivi per cui nei metodi di ottimizzazione si dà particolare peso a questa seconda parte. La procedura di ricerca è normalmente un calcolo “step by step” ovvero un metodo iterativo. Partendo dalla soluzione iniziale ci spostiamo poi da punto a punto migliorando regolarmente il valore della funzione obiettivo. Ad ogni step decidiamo la Fig. 6 mo la direzione nella quale muoverci e la dimensione dello spostamento dopo aver valutato la situazione. Supponiamo che un problema abbia N variabili x1 , x2 , …, xN. Indichiamo la soluzione iniziale con X(0) = (x1 (0) , x2 (0), …, xN(0) ). Il primo step determina un nuovo punto X(1) = (x1 (1) , x2 (1), …, xN(1) ) per il quale si verifica F(X(1) ) < F(X(0) ) Avendo ipotizzato un problema di minimizzazione. Politecnico di Bari – Riservato alla circolazione interna 6