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