In questa lezione si descrive la struttura fondamentale dell’algoritmo del simplesso, interpretato come algoritmo a direzione ammissibile e come procedura algebrica.
Si descrivono infine le relazioni algebriche fondamentali alla base dell’algoritmo.
Per la soluzione dei problemi di Programmazione Lineare (PL) è possibile costruire un algoritmo molto semplificato rispetto al caso non lineare. L’algoritmo utilizzato per la soluzione dei problemi PL è l’algoritmo del simplesso. Questo algoritmo può essere interpretato come algoritmo a direzione ammissibile. Esso genera infatti, come gli algoritmi a direzione ammissibile, una successione di punti che rispetta la relazione ricorsiva xk+1 = xk + θk dk. In pratica esso opera in termini algebrici, attraverso la trasformazione del sistema di vincoli, costituito da equazioni e disequazioni, in un sistema di equazioni, del quale è necessario trovare particolari soluzioni, soluzioni basiche ammissibili, corrispondenti ai vertici del dominio. Infatti, poiché il dominio di ammissibilità è convesso e la funzione obiettivo è lineare, il punto di ottimo non solo appartiene alla frontiera ma è sicuramente un vertice del dominio di ammissibilità. L’algoritmo del simplesso è dunque in pratica un generatore di soluzioni basiche ammissibili sempre migliori, sottoposte ad un test di ottimalità necessario per decidere se la soluzione corrente è ottima o meno.
Una soluzione basica ammissibile può essere agevolmente determinata a partire da un sistema in forma canonica.
Si ricordi che un sistema di equazioni si dice in forma canonica quando nella matrice A dei coefficienti aij del sistema è individuabile una matrice identità.
A partire da un sistema in questa forma è molto facile determinare una soluzione basica ammissibile. Infatti se si pongono a zero le variabili rispetto alle quali il sistema non è in forma canonica (variabili non basiche) da ciascuna riga è possibile ricavare il valore di una delle variabili rispetto alle quali il sistema è in forma canonica (variabili basiche).
Quindi in ogni equazione è presente una variabile basica (quella corrispondente alla colonna nella quale c’è il termine 1 della forma canonica).
Il sistema di equazioni seguente, con 3 vincoli e 5 variabili è in forma canonica rispetto alle variabili x1, x2 ed x3.
Pertanto, annullando x1 e x2, variabili rispetto alle quali il sistema non è in forma canonica, dalla prima equazione si ricava x3 = b1, dalla seconda x4 = b, dalla terza x5 = b3.
La soluzione basica ammissibile determinata è quindi x1 = x2 = 0, x3 = b1, x4 = b2, x5 = b3.
Se il sistema Ax = b non è in forma canonica esso può essere messo in questa forma con una semplice operazione di tipo algebrico. Sia xb il vettore delle variabili rispetto alle quali si vuole il sistema in forma canonica e sia xnb il vettore delle restanti variabili. Sia B (matrice di base) la matrice costituita dalle colonne iniziali di A relative alle variabili di xb. Sia NB la matrice delle restanti colonne di A.
Il sistema Ax = b si potrà scrivere come:
Se si premoltiplica il sistema per B-1 si ottiene:
B-1 NB xnb + B-1Bxb = B-1b
ponendo B-1NB = C ed essendo B-1B = I si ottiene: Cxnb + Ixb = B-1b
Pertanto per mettere un sistema Ax = b in forma canonica rispetto a certe variabili e determinare una s.b.a. basta premoltiplicare il sistema stesso per la matrice B-1, inversa della matrice B costituita dalle colonne iniziali di A relative alle variabili rispetto alle quali si vuole il sistema in forma canonica.
La matrice B prende il nome di “matrice di base” o “base”. Con il termine “base” si suole anche indicare l’insieme di variabili basiche le cui colonne in A costituiscono B. La matrice B-1 si indica con il termine “inversa di base”.
2. Ottimizzazione non lineare monodimensionale
3. Ottimizzazione non lineare multidimensionale non vincolata
4. Ottimizzazione non lineare multidimensionale vincolata
5. Ottimizzazione lineare: formulazione di modelli
6. Ottimizzazione lineare: Algoritmo del Simplesso
7. Ottimizzazione lineare: Algoritmo del Simplesso - II parte
8. Ottimizzazione lineare: Algoritmo del Simplesso - III parte
9. Ottimizzazione lineare: il metodo del Big M
10. Ottimizzazione lineare: il metodo delle due fasi
11. Ottimizzazione lineare: Algoritmo del Simplesso revisionato
12. Ottimizzazione lineare: Analisi post-ottimale
13. Ottimizzazione lineare: il modello duale
15. Ottimizzazione intera: il metodo del piano di taglio
16. Ottimizzazione intera: il metodo Branch and Bound
17. Ottimizzazione su rete: Introduzione alla Teoria dei Grafi
18. Ottimizzazione su rete: Problemi di percorso
19. Ottimizzazione su rete: Problemi di flusso
20. Ottimizzazione su rete: Problemi di progetto, circuito e locali...