Il metodo del simplesso prende in input una soluzione di base iniziale ammissibile.
Ma come trovare una soluzione ammissibile di base iniziale?
In alcuni casi è semplice individuare una siffatta soluzione.
Supponiamo, ad esempio, di dover risolvere un problema di programmazione lineare definito da un insieme di vincoli del tipo
In tal caso, introducendo un vettore di variabili di slack nonnegative s, è possibile riscrivere l’insieme di vincoli come
e il vettore
costituisce una soluzione di base ammissibile cui corrisponde una matrice di base pari alla matrice identità.
Tuttavia, in generale individuare una soluzione di base ammissibile iniziale non è semplice, in quanto, come vedremo tra breve, spesso richiede la soluzione di un problema di programmazione lineare ausiliario.
Si consideri un generico problema di PL informa standard:
Introducendo un vettore di variabili ausiliarie , applichiamo il Metodo del Simplesso per risolvere il seguente problema ausiliario:
Nel caso del problema ausiliario una soluzione di base iniziale ammissibile è immediatamente individuabile ponendo ; soluzione questa cui è associata come matrice di base la matrice identità.
A questo punto, disponendo di una soluzione di base ammissibile iniziale, si applica il Metodo del Simplesso per trovare la soluzione ottima al problema ausiliario.
Sia la soluzione ottima al problema ausiliario.
Caso A:
In tal caso, non esiste soluzione ammissibile per il problema originario;
Caso B:
In questo caso, il problema originario ammette almeno una soluzione ammissibile.
Sono possibili i seguenti due scenari.
Il procedimento appena esposto consente di risolvere tramite Metodo del Simplesso un qualunque problema di PL in forma standard.
Esso in letteratura è noto come Metodo delle Due Fasi.
Esempio
Si consideri il seguente problema di PL
Per ottenere una soluzione di base ammissibile per il problema originario e poi risolvere quest’ultimo occorre ricorrere al Metodo delle Due Fasi.
I Fase: Si introducono due variabili artificiali e viene costruito il seguente problema ausiliario.
Occorre risolvere il problema ausiliario a partire dalla soluzione ammissibile di base iniziale immediatamente individuabile data da fuori base e in base.
In quanto segue, il problema ausiliario viene risolto all’ottimo tramite il Metodo del Simplesso Tabellare.
I tableau
La variabile è l’unica candidata ad entrare in base, mentre sono possibili candidate ad uscire dalla base e si sceglie di far uscire dalla base (Regola di Bland).
L’elemento di pivot è, dunque, l’elemento in tabella contrassegnato da un asterisco.
Le variabili della nuova base sono .
II tableau
I costi ridotti sono nonnegativi, per cui siamo in presenza di una soluzione ottima per il problema ausiliario.
Il valore di funzione obiettivo è nullo. Infatti, . Dunque, possiamo concludere che il problema originario ammette soluzioni, anche se è in base.
Per risolvere il problema, eseguiamo un’operazione di pivot su uno qualunque degli elementi , purchè non nullo. Supponiamo di scegliere come elemento di pivot.
III tableau
Si è così ottenuta la soluzione , ammissibile per il problema originario.
Procediamo alla II Fase, dedicata alla risoluzione del problema originario tramite il Metodo del Simplesso Tabellare.
II Fase:
I tableau
I costi ridotti sono nonnegativi, per cui siamo in presenza di una soluzione ottima per il problema originario.
La soluzione ottima al problema è , cui corrisponde un valore di funzione obiettivo pari a 2.
1. Presentazione del Corso ed Introduzione alla Programmazione Mat...
2. Introduzione ai Problemi di PL
6. Algoritmo del Simplesso Revisionato
7. Algoritmo del Simplesso Tabellare
10. Soluzione di Problemi di PL tramite Algoritmo del Simplesso
11. Problemi di Programmazione Lineare Intera
12. PLI con matrice dei vincoli unimodulare
13. Problemi di PLI: Branch & Bound
14. Il Problema dello Zaino 0/1 e il Problema dello Zaino Frazionar...
15. Il Problema dello Zaino 0/1: un algoritmo B&B
16. Il Problema dello Zaino 0/1: un algoritmo di Programmazione Din...
17. Richiami di Teoria dei Grafi: definizioni e notazioni
18. Il Problema del Vertex Cover Minimo di un Grafo
19. Il Problema dell'Albero di Copertura Minimo (MST)
20. Il Problema dell'Albero di Copertura Minimo (MST): esempio
D. Bertsimas e J.N. Tsitsiklis, Introduction to Linear Optimization, Belmont - Massachusetts (USA), Dynamic Ideas and Athena Scientific, 2008.
M. Fischetti, Lezioni di Ricerca Operativa, Padova, Edizioni Libreria Progetto Padova, 1999.
S. Martello, Fondamenti di Ricerca Operativa L-A, Bologna, Società Editrice Esculapio, 2004.
S. Martello, Ricerca Operativa LS, Bologna, Società Editrice Esculapio, 2004.
Dispense del Corso di Ricerca Operativa presso l'Università degli Studi di Pisa.
Dispense ed Appunti del Corso prodotte da Paola Festa.