seconda parte

`
4.4. INTERPRETAZIONE ECONOMICA DELLA DUALITA
4.4
4.4.1
43
Interpretazione economica della dualit`
a
Mercato ombra
Quando un programma lineare descrive un problema di natura economica, anche
il duale generalmente ammette un’interpretazione economica. Tale interpretazione dipende dal problema specifico, ma di norma `e possibile vedere il duale
come il programma lineare che descrive il problema di un operatore intenzionato
ad entrare nel mercato, il quale ci propone un’alternativa al nostro business (ci
si riferisce a questa situazione come mercato ombra). I vincoli del duale possono
essere letti come le condizioni che assicurano la concorrenzialit`a della proposta
(cio`e il fatto che l’offerta sia economicamente interessante per noi), mentre la
funzione obiettivo del duale descriver`a ovviamente il tentativo dell’operatore di
trarre il massimo profitto dalla sua entrata nel mercato. Illustriamo tutto ci`o
tramite un esempio.
Abbiamo a disposizione m risorse da utilizzare per la realizzazione di n tipologie di prodotti. Per ogni risorsa, `e nota la quantit`a disponibile; per ogni
tipologia di prodotto, `e noto il profitto derivante dalla vendita; inoltre, per ogni
tipologia di prodotto si sa anche quale quantit`a di ciascuna risorsa `e necessaria
per la realizzazione di una unit`a di prodotto (potremmo dire che `e nota la “ricetta” del prodotto). Si chiede di utilizzare le risorse in modo da massimizzare
il profitto totale, assumendo che il mercato sia sempre in grado di assorbire
completamente la merce prodotta.
Indicizziamo con i = 1, . . . , m le m risorse e con j = 1, . . . , n le n tipologie di
prodotto. Per ogni i, usiamo bi per indicare la quantit`a di risorsa i disponibile;
per ogni j, indichiamo con cj il profitto derivante dalla vendita di una unit`a
di prodotto j; infine indichiamo con aij la quantit`a di risorsa i necessaria alla
realizzazione di una unit`a di prodotto j.
Passiamo ora alla scelta delle variabili. Per ogni j, indichiamo con xj la
quantit`a di prodotto j che si intende realizzare. Il modello sar`a allora:
max c1 x1 + ⋅ ⋅ ⋅ + cn xn
s.a ai1 x1 + ⋅ ⋅ ⋅ + ain xn ≤ bi , i = 1, . . . , m
x1 , . . . ,
xn ≥ 0.
La funzione obiettivo esprime il profitto totale. I vincoli assicurano che di ogni
risorsa i venga usata al massimo una quantit`a bi per realizzare i vari prodotti. Si
noti che `e necessario includere nel modello anche le condizioni che impongono la
non-negativit`a delle variabili, in quanto una produzione negativa non ha senso.
Il duale del programma lineare dato sopra `e
min b1 y1 + ⋅ ⋅ ⋅ +
bm ym
(4.13)
s.a a1j y1 + ⋅ ⋅ ⋅ + amj ym ≥ cj , j = 1, . . . , n
(4.14)
ym ≥ 0.
(4.15)
y1 , . . . ,
Mostriamo ora come tale programma lineare rappresenti una situazione di
mercato ombra, come accennato sopra.
`
CAPITOLO 4. TEORIA DELLA DUALITA
44
Immaginiamo che qualcuno si offra di acquistare le nostre risorse: il problema consiste dunque nello stabilire il prezzo di ciascuna risorsa. Indichiamo con
yi il prezzo che l’acquirente `e disposto a pagare per ogni unit`a di risorsa i. Il
costo totale per l’acquisto delle risorse ammonta allora a b1 y1 + ⋅ ⋅ ⋅ + bm ym , che
`e esattamente l’espressione che il duale tenta di minimizzare. Naturalmente,
affinch´e la proposta possa suscitare il nostro interesse, l’offerta dell’acquirente dovr`a essere in qualche modo concorrenziale. In altre parole, accetteremo
di vendere le nostre risorse solo se questa operazione ci frutter`a un guadagno
maggiore di quello che otterremmo usando le risorse per produrre e vendere i
prodotti. Possiamo dire che riterremo l’offerta interessante se, per ogni tipologia
di prodotto j, ricaveremmo di pi`
u (o almeno tanto quanto) dalla vendita delle
risorse necessarie a produrre una unit`a di prodotto j piuttosto che dall’utilizzo
delle risorse stesse per la produzione e vendita di una unit`a del prodotto in questione: questa `e esattamente la condizione imposta dal vincolo (4.14). Dunque
il duale `e il problema che si pone l’acquirente: decidere prezzi di acquisto per
le risorse in modo che l’offerta sia conveniente per noi (altrimenti rifiuteremmo
certamente) e il costo totale per l’acquisto sia il pi`
u piccolo possibile.
Si noti che il Teorema di Dualit`a Debole in questo caso afferma un concetto
molto naturale: una qualunque offerta concorrenziale propostaci dall’acquirente ci farebbe guadagnare non meno che vendere i prodotti realizzati secondo
un qualunque piano produttivo (non solo quello ottimale). L’ottimalit`a si ha
quando la scelta tra le due opzioni `e indifferente (Teorema di Dualit`a Forte).
4.4.2
Variabili duali come prezzi di equilibrio
Le variabili duali hanno anche un’altra interessante interpretazione. Diamo qui
l’enunciato per il caso della forma standard, ma il risultato vale in generale,
dato che un programma lineare pu`o sempre essere messo in forma standard.
Proposizione 4.10 Si considerino un programma lineare in forma standard
ed il suo duale:
max c⊺ x
s.a Ax = b
min b⊺ y
s.a A⊺ y ≥ c.
x≥0
Sia B una base ottima del problema primale e siano x
¯, y¯ le corrispondenti soluzioni ottime primale e duale. Allora ciascuna variabile duale y¯i indica di quanto
varierebbe il valore ottimo se il termine noto del corrispondente vincolo primale
bi aumentasse di una unit`
a e la base ottima restasse la stessa.
Dimostrazione. Si ricordi che x
¯B = A−1
¯N = 0 e y¯ = A−⊺
B b, x
B cB (si veda la
Sezione 4.1.1). Sia inoltre z¯ il valore ottimo del problema, cio`e
z¯ = c⊺ x
¯ = c⊺B x
¯B + c⊺N x
¯N = c⊺B A−1
B b.
Se il termine noto bi viene aumentato di una unit`a, otteniamo un nuovo vettore
dei termini noti b′ = b + ei , dove ei `e l’i-esimo vettore della base canonica.
` E LEMMA DI FARKAS
4.5. INAMMISSIBILITA
45
Assumendo che la base B sia ottima anche per il problema perturbato, la nuova
′
soluzione ottima primale sar`a x
¯′B = A−1
¯′N = 0. Allora il nuovo valore ottimo
B b, x
′
z sar`a
′
⊺ −1
⊺ −1
¯ + y¯i ,
z ′ = c⊺ x
¯′ = c⊺B x
¯′B + c⊺N x
¯′N = c⊺B A−1
B b = cB AB b + cB AB ei = z
⊺ −⊺
⊺
dove l’ultima uguaglianza vale perch´e c⊺B A−1
¯ = y¯i . Dunque
B ei = ei AB cB = ei y
′
la variazione del valore ottimo `e pari a z − z¯ = y¯i .
◻
Si tenga ben presente che tale interpretazione delle variabili duali `e valida
solo se la base ottima rimane la stessa quando il termine noto del primale viene
perturbato. Lo studio delle condizioni che garantiscono che la base ottima resti
invariata a fronte di perturbazioni del termine noto o di altri parametri del
problema `e detto analisi della sensitivit`
a ed `e oggetto di corsi pi`
u avanzati.
Alla luce della Proposizione 4.10, le variabili duali possono essere interpretate come prezzi di equilibrio: il valore di y¯i ci dice quanto saremmo disposti a
pagare per incrementare di una unit`a il termine noto bi (ammesso che la base
ottima resti la stessa): infatti, poich´e il valore ottimo aumenterebbe esattamente di y¯i , non saremmo certo disposti a pagare pi`
u di y¯i per incrementare
bi .
Con riferimento al problema della Sezione 4.4.1, il valore di ciascuna variabile yi all’ottimo indica di quanto varierebbe il valore ottimo del primale (cio`e
il nostro profitto) se disponessimo di una unit`a in pi`
u di risorsa i (a patto che
la base ottima resti la stessa). In altre parole, se qualcuno ci proponesse di venderci un’ulteriore unit`a di risorsa i, dato che il nostro profitto aumenterebbe di
y¯i , noi saremmo disposti a pagare al massimo y¯i per avere questa unit`a in pi`
u.
4.5
Inammissibilit`
a e Lemma di Farkas
Il Teorema di Dualit`a Forte implica che quando un programma lineare ha una
soluzione ottima x∗ , il fatto che x∗ sia ottima pu`o essere certificato esibendo
una soluzione ammissibile duale y ∗ tale che c⊺ x∗ = b⊺ y ∗ . Alternativamente, l’ottimalit`a di x∗ pu`o essere dimostrata esibendo una soluzione ammissibile duale
y ∗ che soddisfi le condizioni degli scarti complementari con x∗ . La soluzione y ∗
pu`
o essere dunque vista come un “certificato” che prova l’ottimalit`a di x∗ .
Analogamente, quando un programma lineare non ammette soluzioni ammissibili, questo fatto pu`o essere provato esibendo un semplice certificato. Il
risultato che garantisce l’esistenza di un tale certificato `e noto come Lemma di
Farkas.
4.5.1
Forma standard
Teorema 4.11 (Lemma di Farkas) Il sistema lineare
Ax = b
(4.16)
x≥0
(4.17)
46
`
CAPITOLO 4. TEORIA DELLA DUALITA
non ammette soluzioni se e solo se il seguente sistema ammette una soluzione:
A⊺ y ≥ 0
⊺
b y < 0.
(4.18)
(4.19)
Dimostrazione. Dimostriamo prima la sufficienza. Sia y¯ una soluzione del
sistema (4.18)–(4.19). Supponiamo per assurdo che il sistema (4.16)–(4.17)
ammetta una soluzione x
¯. Allora
0 > b⊺ y¯ = (¯
x⊺ A⊺ )¯
y = (¯
y ⊺ A)¯
x ≥ 0,
dove l’ultima disuguaglianza discende dal fatto che x
¯ ≥ 0 e A⊺ y¯ ≥ 0. Pertanto
0 > 0, un assurdo.
Per la necessit`a, vediamo due possibili dimostrazioni.
Prima dimostrazione. Consideriamo il programma lineare
max 0⊺ x
s.a Ax = b
x ≥ 0.
(4.20)
(4.21)
(4.22)
Poich´e tale problema `e per ipotesi inammissibile, il suo duale `e o inammissibile
oppure illimitato (si veda la tabella data nella Sezione 4.2.3). Il duale `e
min b⊺ y
s.a A⊺ y ≥ 0
e, poich´e y = 0 `e chiaramente una soluzione ammissibile, tale problema deve
essere illimitato, cio`e per ogni α esiste una soluzione ammissibile del duale y¯ tale
che b⊺ y¯ ≤ α. Questo implica, in particolare, che esiste una soluzione ammissibile
del duale y¯ tale che b⊺ y¯ ≤ −1. Dunque y¯ soddisfa il sistema (4.18)–(4.19).
Seconda dimostrazione. Se il programma lineare (4.20)–(4.22) `e inammissibile, applicando la Fase I del metodo del simplesso scopriremo che il valore
ottimo del problema ausiliario `e w∗ < 0. Si ricordi che il problema ausiliario `e
il seguente:
max
−e⊺ xA
s.a Ax + IxA = b
x ≥ 0, xA ≥ 0.
La Fase I del metodo del simplesso termina con una base ottima B ∗ per il
problema ausiliario. Pertanto la soluzione ottima y ∗ per il duale del problema
ausiliario determinata da B ∗ soddisfa b⊺ y ∗ = w∗ < 0. Il duale del problema
ausiliario `e il seguente:
min b⊺ y
s.a A⊺ y ≥ 0
Iy ≥ −e,
pertanto A⊺ y ∗ ≥ 0 e b⊺ y ∗ < 0. Dunque y ∗ soddisfa il sistema (4.18)–(4.19).
◻
` E LEMMA DI FARKAS
4.5. INAMMISSIBILITA
4.5.2
47
Altre forme
Il lemma di Farkas per problemi in forma canonica `e il seguente.
Teorema 4.12 (Lemma di Farkas) Il sistema lineare
Ax ≤ b
(4.23)
x≥0
(4.24)
non ammette soluzioni se e solo se il seguente sistema ammette una soluzione:
A⊺ y ≥ 0
(4.25)
y≥0
(4.26)
b y < 0.
(4.27)
⊺
Dimostrazione. Il sistema (4.23)–(4.24) non ha soluzioni se e solo se il sistema
Ax + Is = b
x ≥ 0, s ≥ 0
non ha soluzioni, dove s `e un vettore di variabili di scarto. Per il Lemma di
Farkas (Teorema 4.11), questo avviene se e solo se il sistema (4.25)–(4.27) ha
una soluzione.
◻
Una dimostrazione alternativa del risultato precedente pu`o essere ottenuta
facendo uso della dualit`a come nella dimostrazione del Teorema 4.11; si consiglia
di scrivere tale dimostrazione come esercizio.
Per sistemi della forma Ax ≤ b, il Lemma di Farkas `e il seguente.
Teorema 4.13 (Lemma di Farkas) Il sistema lineare
Ax ≤ b
non ammette soluzioni se e solo il seguente sistema ammette una soluzione:
A⊺ y = 0
y≥0
⊺
b y < 0.
Anche questo teorema pu`o essere dimostrato in almeno due modi: riducendosi alla forma canonica ed applicando il Lemma di Farkas valido per problemi
di quel tipo, oppure utilizzando la dualit`a; anche in questo caso si consiglia di
scrivere le dimostrazioni come esercizio.
A questo punto dovrebbe essere chiaro come formulare il Lemma di Farkas
per sistemi lineari generici della forma (4.6)–(4.11): un sistema di questo tipo
non ha soluzioni se e solo se esiste una soluzione ammissibile per un certo
sistema, che `e costituito dai vincoli duali (con termini noti tutti nulli) pi`
u la
condizione b⊺ y < 0.
`
CAPITOLO 4. TEORIA DELLA DUALITA
48
Teorema 4.14 (Lemma di Farkas) Il sistema lineare (4.6)–(4.11) non ammette soluzioni se e solo il seguente sistema ammette una soluzione:
A⊺j y ≥ 0
j = 1, . . . , p
A⊺j y
A⊺j y
≤0
j = p + 1, . . . , q
=0
j = q + 1, . . . , n
yi ≥ 0
i = 1, . . . , h
yi ≤ 0
i = h + 1, . . . , k
yi libera
i = k + 1, . . . , m
⊺
b y < 0.
4.6
Problemi illimitati
Anche quando un programma lineare `e illimitato, questo fatto pu`o essere provato esibendo un semplice certificato.
Teorema 4.15 Il programmazione lineare
max c⊺ x
(4.28)
s.a Ax = b
(4.29)
x≥0
(4.30)
`e illimitato se e solo `e ammissibile ed esiste r ∈ Rn tale che
c⊺ r > 0
(4.31)
Ar = 0
(4.32)
r ≥ 0.
(4.33)
Dimostrazione. Per la sufficienza, assumiamo che esista r soddisfacente (4.31)–
(4.33) e sia x
¯ una soluzione ammissibile di (4.28)–(4.30). Per l’Esercizio 1
del terzo foglio di esercizi, r `e un raggio della regione ammissibile, cio`e per
ogni t ≥ 0 il vettore x(t) = x
¯ + tr `e una soluzione ammissibile di (4.28)–(4.30).
Inoltre, il valore della funzione obiettivo calcolata in x(t) `e z(t) = c⊺ x
¯ + tc⊺ r.
⊺
Poich´e c r > 0, si ha limt→+∞ z(t) = +∞, pertanto x(t) definisce una famiglia di
soluzioni ammissibili di valore arbitrariamente grande. Ne segue che il problema
(4.28)–(4.30) `e illimitato.
Per la necessit`a, vediamo due possibili dimostrazioni.
Prima dimostrazione. Si applichi il metodo delle due fasi al problema (4.28)–
(4.30). Poich´e il problema `e illimitato, siamo nel Caso 2 della Sezione 3.2. Sia
r il vettore definito dalle condizioni (3.19)–(3.21). Come osservato appunto
nella Sezione 3.2, r `e un raggio della regione ammissibile. Inoltre, c⊺ r = c¯k > 0.
Dunque r soddisfa il sistema (4.31)–(4.33) (si pu`o di nuovo usare l’Esercizio 1
del terzo foglio di esercizi).
49
4.6. PROBLEMI ILLIMITATI
r
c
Figura 4.1: Regione ammissibile di un problema illimitato e un raggio r della
regione ammissibile. Si noti che c⊺ r > 0.
Seconda dimostrazione. Se (4.28)–(4.30) `e illimitato, allora il suo duale `e
inammissibile (Corollario 4.3). Il duale `e
min b⊺ y
s.a A⊺ y ≥ c
e tale problema `e inammissibile se e solo se il sistema −A⊺ y ≤ −c non ammette
soluzioni. Per il Lemma di Farkas (nella forma del Teorema 4.13), −A⊺ y ≤ −c
non ammette soluzioni se e solo se esiste r che soddisfa (4.31)–(4.33).
◻
La Figura 4.1 fornisce un’illustrazione del Teorema 4.15.
Il Teorema 4.15 pu`o essere esteso a problemi di programmazione lineare in
forma generica.
Teorema 4.16 Il programma lineare
max c⊺ x
s.a a⊺i x ≤ bi ,
a⊺i x
a⊺i x
i = 1, . . . , h
≥ bi ,
i = h + 1, . . . , k
= bi ,
i = k + 1, . . . , m
`e illimitato se e solo `e ammissibile ed esiste r ∈ Rn tale che
c⊺ r > 0
a⊺i r ≤ 0,
i = 1, . . . , h
a⊺i r
a⊺i r
≥ 0,
i = h + 1, . . . , k
= 0,
i = k + 1, . . . , m.
La dimostrazione di questo risultato `e del tutto analoga a quella del Teorema 4.15.
`
CAPITOLO 4. TEORIA DELLA DUALITA
50
4.7
Metodo del Simplesso duale
Come visto nel Capitolo 3 e nella Sezione 4.1.1, il metodo del simplesso (Fase II) mantiene ad ogni iterazione una base ammissibile nel primale, che per`o
non `e ammissibile nel duale (con l’eccezione dell’ultima iterazione, in cui, se
problema ha soluzione ottima, la soluzione primale e quella duale associate alla
base corrente sono entrambe ammissibili per i rispettivi problemi). Ad ogni
iterazione viene determinata una nuova base ammissibile nel primale tale che il
valore della funzione obiettivo della soluzione associata sia maggiore o uguale
del valore della soluzione precedente. Si ricordi anche che il metodo del simplesso pu`o essere avviato solo quando `e nota una soluzione ammissibile primale
(tale soluzione pu`o essere determinata tramite la Fase I).
In certe situazioni `e immediatamente disponibile una soluzione ammissibile
del duale piuttosto che del primale. In tal caso, invece di applicare la Fase I e
poi la Fase II, `e possibile utilizzare direttamente il metodo del simplesso duale:
tale procedura, partendo da una base ammissibile nel duale (ovvero una base
per la quale i costi ridotti siano non-positivi), ad ogni iterazione cerca una nuova
base ammissibile nel duale la cui soluzione di base associata abbia costo minore
o uguale della precedente. L’algoritmo termina quando viene trovata una base
che sia ammissibile anche nel primale: per quanto osservato nella Sezione 4.1.1,
sappiamo infatti che una tale base `e anche ottima. Al termine della procedura
avremo dunque una soluzione ottima per il primale e una per il duale.
Dati una matrice A ∈ Rm×n di rango m e vettori b ∈ Rm , c ∈ Rn , si consideri
come al solito il problema
max c⊺ x
(4.34)
s.a Ax = b
(4.35)
x ≥ 0,
(4.36)
il cui duale `e
min b⊺ y
s.a A⊺ y ≥ c.
Sia B = {B[1], . . . , B[m]} una base ammissibile nel duale. Il problema in forma
tableau rispetto a tale base `e il seguente:
max z
s.a z
− c¯⊺N xN = z¯
xB + A¯N xN = ¯b
x
≥ 0.
Poich´e B `e ammissibile nel duale, c¯j ≤ 0 per ogni j ∈ N (si veda la Sezione 4.1.1). Si ricordi che la soluzione duale associata alla base B `e y¯ = (A−⊺
B )cB
e che il valore di tale soluzione `e z¯ = c⊺B A−1
b.
La
soluzione
primale
associata
B
alla base B `e invece il vettore x
¯ definito da
x
¯B[i] = ¯bi ,
x
¯N = 0.
i = 1, . . . , m
51
4.7. METODO DEL SIMPLESSO DUALE
Se ¯bi ≥ 0 per ogni i = 1, . . . , m, allora x
¯ `e ammissibile e quindi B `e una base
ammissibile nel primale e dunque ottima. In tal caso x
¯ `e una soluzione ottima
e abbiamo risolto il problema.
Supponiamo dunque che esista h ∈ {1, . . . , m} tale che ¯bh < 0. Vogliamo far
uscire di base la variabile xB[h] e dobbiamo selezionare la variabile entrante in
modo da ottenere una nuova base ammissibile nel duale. Abbiamo due casi.
Caso 1: a
¯hj ≥ 0 per ogni j ∈ N .
Ogni soluzione ammissibile x per il primale soddisfa
xB[h] + ∑ a
¯hj xj = ¯bh .
j∈N
Poich´e x ≥ 0 e a
¯hj ≥ 0 per ogni j ∈ N , avremo xB[h] + ∑j∈N a
¯hj xj ≥ 0, e dunque
¯bh ≥ 0, che contraddice la scelta ¯bh < 0. Pertanto, in tal caso, il problema
primale non ha soluzioni ammissibili e abbiamo terminato.
Caso 2: Esiste un indice j ∈ N tale che a
¯hj < 0.
Vogliamo determinare un indice k ∈ N tale che la base B ′ = B ∪ {k} ∖ {B[h]}
rimanga ammissibile nel duale. Questo avviene quando il vettore c′ dei costi
ridotti rispetto a B ′ `e non-positivo. Sia N ′ = {1, . . . , n} ∖ B ′ . Come si pu`o
verificare osservando la tabella della Sezione 3.4, facendo un pivot rispetto alla
posizione (h, k) del tableau relativo alla base B il vettore c′ `e dato da
c¯k
,
a
¯hk
c¯k
a
¯hj ,
c′j = c¯j −
a
¯hk
c′B[h] = −
j ∈ N ∖ {k}.
Poich´e c¯k ≤ 0, si ha che c′B[h] ≤ 0 se e solo se a
¯hk < 0. Dunque dobbiamo scegliere
un indice k ∈ N tale che a
¯hk < 0. Inoltre, affinch´e B ′ sia ammissibile nel duale,
deve valere c′j ≤ 0 per ogni j ∈ N ∖ {k}.
Se a
¯hj ≥ 0, allora la condizione `e verificata poich´e in tal caso c′j ≤ c¯j ≤ 0, dove
k
a
¯hj ≥ 0, mentre la seconda
la prima disuguaglianza discende dal fatto che a¯c¯hk
disuguaglianza vale perch´e B `e ammissibile nel duale.
Se a
¯hj < 0, allora c′j ≤ 0 se e solo se
c¯j
c¯k
≤
.
a
¯hk a
¯hj
Dobbiamo dunque scegliere k ∈ N tale che a
¯hk < 0 e
c¯j
c¯k
= min {
∶ j ∈ N, a
¯hj < 0} .
a
¯hk
a
¯hj
Con una tale scelta di k, la base B ′ `e ammissibile nel duale. Inoltre (si veda
ancora la Sezione 3.4), il valore della soluzione duale rispetto alla base B ′ `e
z¯ +
c¯k ¯
bh ≤ z¯,
a
¯hk
`
CAPITOLO 4. TEORIA DELLA DUALITA
52
dove la disuguaglianza vale perch´e c¯k ≤ 0, a
¯hk < 0 e ¯bh < 0.
Ricapitolando, abbiamo trovato una base ammissibile nel duale la cui corrispondente soluzione duale ha valore minore o uguale della soluzione precedente.
Visto che il problema duale `e un problema di minimo, abbiamo dunque una
soluzione duale migliore (o non peggiore, se c¯k = 0) rispetto alla precedente.
Riassumiamo qui sotto il metodo del simplesso duale.
Metodo del Simplesso Duale
Input: A ∈ Rm×n , b ∈ Rm , c ∈ Rn ed una base ammissibile duale
B = {B[1], . . . , B[m]} per il sistema (4.35)–(4.36).
Output: Una soluzione ottima di base x
¯ per il programma
lineare (4.34)–(4.36), oppure l’informazione che il problema `e
inammissibile.
1. Si calcoli il tableau rispetto alla base B e la soluzione di base x
¯ relativa
a B.
2. Se ¯b ≥ 0, allora x
¯ `e una soluzione ottima; STOP.
3. Altrimenti, si scelga un indice h ∈ {1, . . . , m} tale che ¯bh < 0.
4. Se a
¯hj ≥ 0 per ogni j ∈ N , allora il problema `e inammissibile; STOP.
5. Altrimenti, si scelga k ∈ N tale che
a
¯hk < 0
e
c¯j
c¯k
= min {
∶ j ∈ N, a
¯hj < 0} .
a
¯hk
a
¯hj
6. Si ridefinisca B[h] ∶= k e si torni al Passo 1.
Si noti che il metodo del simplesso duale non restituir`a mai l’informazione
che il problema primale `e illimitato; infatti, la base iniziale certifica che il problema duale `e ammissibile e di conseguenza il primale non pu`o essere illimitato
(Corollario 4.3).
Per il metodo del simplesso duale si pongono le stesse questioni (ciclaggio,
terminazione, scelta della base iniziale) che abbiamo evidenziato e risolto per il
` possibile garantire che l’algoritmo termini attraverso
metodo del simplesso. E
la seguente regola di pivot:
Regola di Bland Ad ogni iterazione dell’algoritmo del simplesso duale, in
caso vi siano due o pi`
u variabili candidate ad entrare in base (o ad uscire di
base), si scelga quella con indice minimo.
Omettiamo i dettagli sulla correttezza di tale regola e sulla scelta della base
iniziale.