Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
103
Renato De Leone / Cinzia Lazzari
Esercizi di
programmazione lineare
e programmazione lineare intera
Copyright © MMVII
ARACNE editrice S.r.l.
www.aracneeditrice.it
info@aracneeditrice.it
ISBN 978–88–548–1457–8
1 Introduzione 1
1.1 Le origini della Ricerca Operativa . . . . . . . . . . 3
1.2 La Programmazione Lineare . . . . . . . . . . . . . 5
1.2.1 La Programmazione Lineare Intera . . . . . 8
1.3 Notazioni . . . . . . . . . . . . . . . . . . . . . . . 8
I
II Indice
7 Domande 143
Introduzione
di ottimizzazione.
1.3 Notazioni
Con Rn viene indicato lo spazio dei vettori ad n componenti rea-
li. Lettere latine minuscole indicano vettori. Se x ∈ Rn e j ∈
{1, . . . , n}, xj ne rappresenta la j–esima componente
⎡ ⎤
x1
⎢ x2 ⎥
⎢ ⎥
x = ⎢ .. ⎥
⎣ . ⎦
xn
xT = [x1 , x2 , . . . , xn ] .
Introduzione 9
⎡ ⎤
AT1.
⎢ AT2. ⎥
⎢ ⎥
A = [A.1 A.2 . . . A.n ] = ⎢ .. ⎥
⎣ . ⎦
ATm.
Siano A ∈ Rm×n e x ∈ Rn , il vettore y = Ax ∈ Rm ottenuto
moltiplicando la matrice A e il vettore x ha componenti
n
yi = Ai1 x1 +Ai1 x1 +. . .+Ain xn = Aij xj = Ai. T x, i = 1, . . . , m.
j=1
Risoluzione Grafica di
problemi di PL
min −2x1 + x2
x1 − x2 ≥ 0
(2.1)
x1 + 2x2 ≥ 2
4x1 + 3x2 ≤ 12
x = 12 7
7
12 Capitolo 2
.
Esercizio 2.2. Risolvere graficamente il seguente problema di PL
min 2x1 + x2
−x1 + x2 ≤ 3
(2.5)
x1 + x2 ≤ 5
x1 − x2 ≤ 7
min −x1 − x2
x1 + x2 ≤ 4
(2.6)
2x1 − x2 ≥ −4
x2 ≥ −4
Risoluzione Grafica di problemi di PL 13
−2
ammetta come unica soluzione ottima il punto x = .
10
Esercizio 2.8. Sia dato il seguente problema di PL:
min −2x1 + x2
x1 + x2 ≤ 8
3x1 + 2x2 ≥ −12 (2.8)
x1 ≥ −4
x2 ≤ 6
14 Capitolo 2
−4
ammetta come unica soluzione ottima il punto x = .
6
Esercizio 2.9. Usare il metodo grafico per risolvere il problema:
min x1 + cx2
2x1 − 3x2 ≥ −10
x1 ≥ 1
(2.9)
x1 − 2x2 ≤ −3
2x1 + x2 ≤ 14
x2 ≥ 0
x2
4x1 + 3x2 ≤ 12
x1 − x2 ≥ 0
A x1
x1 + 2x2 ≥ 2
x2 −x1 + x2 ≤ 3
B
x1
x2 ≥ −4 D C
10x1 + 3x2 ≤ 48
2
perpendicolari al vettore di coordinate ; i vertici della regione
3
ammissibile sono:
0 3 6 0
A= B= C= D= .
3 6 −4 −4
Risoluzione Grafica di problemi di PL 17
x2
A
D
B x1
−2x1 + 3x2 ≤ 6
x1 ≤ 6
C
−5x1 + 6x2 ≥ −30 5x1 + 3x2 ≥ −15
5
perpendicolari al vettore di coordinate ; i vertici della regione
3
ammissibile sono:
6 6 0 −3
A= B= C= D= .
6 0 −5 0
18 Capitolo 2
x2
x1
−2x1 + 3x2 ≤ 6
x1 ≤ 6
x1 − x2 ≤ 7
x1
x1 + x2 ≤ 5
2x1 − x2 = −4 0
⇒ A= ,
x1 + x2 = 4 4
20 Capitolo 2
x2
2x1 − x2 ≥ −4
x1 + x2 ≤ 4
A
x1
x2 ≥ −4 C B
x2 = −4 8
⇒ B= ,
x1 + x2 = 4 −4
2x1 − x2 = −4 −4
⇒ C= .
x2 = −4 −4
x1 + x2 ≤ 8 x2
A
x1 ≥ −2
C
x1 + x2 = 8 −2
⇒ A= ,
x1 = −2 10
x1 + x2 = 8 8
⇒ B= ,
x1 − x2 = 8 0
x1 − x2 = 8 4
⇒ C= ,
4x1 + 8x2 = −16 −4
B A x2 ≤ 6
C x1
x1 ≥ −4
x2 = 6 2
⇒ A= ,
x1 + x2 = 8 6
x2 = 6 −4
⇒ B= ,
x1 = −4 6
Risoluzione Grafica di problemi di PL 23
x1 = −4 −4
⇒ C= .
3x1 + 2x2 = −12 0
x1 = 1 1
⇒ A= ,
x1 − 2x2 = −3 2
x1 = 1 1
⇒ B= ,
2x1 − 3x2 = −10 4
2x1 + x2 = 14 5
⇒ D= .
x1 − 2x2 = −3 4
z(A) = 1 + 2c,
z(B) = 1 + 4c,
z(C) = 4 + 6c,
z(D) = 5 + 4c.
2x1 + x2 ≤ 14
A
x1
Riassumendo:
min x1 − 3x2
3x1 + x2 ≥ −6
x1 + x2 ≥ −3
−x1 + x2 ≥ −3
x1 ≤ 5
0
ammetta come unica soluzione ottima il punto x = .
−3
6
ammetta come unica soluzione ottima il punto x = .
6
Esercizio 2.12. Sia dato il seguente problema di PL:
min x1 − x2
5x1 + 3x2 ≤ 15
x1 − x2 ≥ −5
5x1 + 3x2 ≥ −15
x2 ≥ −5
6
ammetta come unica soluzione ottima il punto x = .
−5
Esercizio 2.13. Sia dato il seguente problema di PL:
min x1 − 3x2
10x1 − 8x2 ≥ −80
x1 + x2 ≤ 1
x2 ≥ −5
x1 ≤ 3
min −3x1 − x2
−x1 + x2 ≤ 2
(2.10)
x1 + x2 ≥ −4
−3x1 + 4x2 ≥ −24
−3
ammetta come unica soluzione ottima il punto x = .
−1
Capitolo 3
P := {x ∈ Rn : Ax ≤ b}
x̄B
x̄ = .
x̄N
definito da
c̄N = cN − AT.N A−T
.B cB
è detto vettore dei costi ridotti (relativo alla base B). Per un
problema di Programmazione Lineare in forma standard
min cT x
x
soggetto a Ax = b
x≥0
∗ xB A.B b
x = =
x∗N 0
è una soluzione ottima di base.
⎤
⎡
1
(i) Determinare se per α = 5 il punto x = ⎣ 1 ⎦ è un vertice;
1
⎡ ⎤
1
(i) Determinare se il punto x = ⎣ 3 ⎦ è un vertice;
2
α 1 2 2 1 1
A= b= .
(α − 3) 1 −1 1 β 1
e sia
X = x ∈ R5 : Ax = b, x ≥ 0 .
−1 1 1 β −1 1 2
A= , b= .
2 α −1 1 0 0 0
34 Capitolo 3
min cT x
Ax = b
x≥0
con ⎡ ⎤ ⎡⎤
1 −4 1 1 0 0 3
A = ⎣ 2 −5 1 0 1 0 ⎦ b=⎣ 5 ⎦
4 −4 1 0 0 1 6
e
cT = [−7, α, −1, 2, 0, 0].
Per quali valori del parametro α la base B = {1, 3, 5} risulta
ottima?
Esercizio 3.11. Si consideri il problema di Programmazione Lineare
dove α, β, γ ∈ R.
Vertici, Basi, BFS ed ottimalità di una base 35
min cT x
Ax = b
x≥0
con ⎡ ⎤ ⎤⎡
2 3 1 1 0 0 5
A=⎣ 4 1 2 0 1 0 ⎦ b = ⎣ 11 ⎦
3 4 2 0 0 1 8
e
cT = [4, −1, −3, 0, 0, 0].
Verificare che B = {3, 4, 5} è una base ottima e identificare la
soluzione ottima del problema.
α 1 2 2 1
A= ,
α − 3 1 −1 1 β
si fissi α = 10 e siano
22
b= e cT = [3, ρ, σ, 1, θ].
15
min cT x
Ax = b
x≥0
con
1 −1 2 2 1 9 1 11
A= b=
1 2 −1 0 2 1 3 12
e
cT = [−1, 5, −4, 2, 0, −15, 1].
min cT x
x
Ax = b (3.1)
x≥0
con
⎡⎤
7
4 1 1 α 4α − 5 ⎢ 4 ⎥
c=⎢ ⎥
A=
1 3 −1 3
b=
3α − 6 ⎣ 1 ⎦.
8
AT2· x = 5 + 1=6 = b2
AT3· x = 7 − 1 − 1 < 8 = b3
AT4· x = 13 + 4 + 1=18 = b4
AT5· x = 1 + 1 < 5 = b5
AT5· x = 0=0 = b5
AT6· x = − 43 < 0 = b6
AT7· x = − 43 < 0 = b7
2x1 + 2x2 ≥ 25
2x1 + 3x2 ≥ 30
A x1
2x1 + x2 ≥ 20
15 2 0
A= B= C= .
0 5 20
sfare le disuguaglianze:
⎡ ⎤ ⎡ ⎤
1 2 1 11
⎢ −1 1 2 ⎥ ⎢ 6 ⎥
⎢ ⎥ ⎢ ⎥
⎢ 2 4 3 ⎥ ⎢ 22 ⎥
⎢ ⎥⎡ ⎤ ⎢ ⎥
⎢ 2 1 1 ⎥ x1 ⎢ 7 ⎥
⎢ ⎥ ⎢ ⎥
⎢ 2 −1 2 ⎥ ⎣ x2 ⎦ ≤ ⎢ 3 ⎥
⎢ ⎥ ⎢ ⎥
⎢ 3 1 2 ⎥ x3 ⎢ 13 ⎥
⎢ ⎥ ⎢ ⎥
⎢ −1 0 0 ⎥ ⎢ 0 ⎥
⎢ ⎥ ⎢ ⎥
⎣ 0 −1 0 ⎦ ⎣ 0 ⎦
0 0 −1 0
e l’origine è un vertice.
α 2
A·B = ,
α−3 1
α 1
A·B = ,
α−3 β
−3
quindi det A·B = αβ−α+3 e det A·B
= 0 se e solo se α
= β−1
.
1
risolvendo il sistema lineare A·B xB = b, con b = , si
1
ottiene ⎡ −1 ⎤
⎢ 6−α ⎥
xB = ⎣
3 ⎦
.
6−α
La prima componente di xB è positiva per α > 6, mentre
la seconda componente è positiva per α < 6. Pertanto non
esistono valori di α per cui B = {1, 4} è una base ammissibile.
1 1
A·B = .
α −1
In questo caso ⎡ ⎤
0 −2 1
A·B =⎣ 2 0 1 ⎦.
−1 0 1
Poiché det A·B = 6, B è una base. Risolvendo il sistema lineare
A·B xB = b si ha ⎡ ⎤
0
xB = 1 ⎦ .
⎣
3
Poiché xB ≥ 0, la base B = {2, 3, 4} è una base ammissibile e la
BFS ad essa associata risulta
⎡ ⎤
0
⎢ 0 ⎥
⎢ ⎥
⎢ 1 ⎥
⎢ ⎥
⎢ 3 ⎥
x=⎢ ⎥
⎢ 0 ⎥.
⎢ ⎥
⎢ 0 ⎥
⎢ ⎥
⎣ 0 ⎦
0
In questo caso ⎡ ⎤
1 1 0
A·B = ⎣ 2 1 1 ⎦.
4 1 0
con det A·B
= 0 e xB = A−1·B b ≥ 0. Pertanto, B = {1, 3, 5} è
una base ammissibile. Risolvendo il sistema lineare AT·B π = cB si
Vertici, Basi, BFS ed ottimalità di una base 45
ottiene: ⎤
⎡
1
π=⎣ 0 ⎦
−2
e i costi ridotti per le variabili non in base sono:
⎡ ⎤
1
c2 = α − AT·2 π = α − [−4 − 5 − 4] ⎣ 0 ⎦ = α − 4
−2
⎡ ⎤
1
c4 = 2 − AT·4 π = 2 − [1 0 0] ⎣ 0 ⎦ = 1
−2
⎡ ⎤
1
c6 = 0 − AT·6 π = 0 − [0 0 1] ⎣ 0 ⎦ = 2
−2
La base è ottima se cN ≥ 0 e quindi se α ≥ 4.
(ii) Quando β = 2,
⎡ ⎤
1 −1 1
A·B = ⎣ −1 2 0 ⎦.
2 0 0
46 Capitolo 3
In questo caso ⎡ ⎤
1 1 0
A·B =⎣ 2 0 1 ⎦
2 0 0
con det A·B = 2 e quindi B = {3, 4, 5} è una base. Risolvendo il
sistema lineare A·B xB = b si ha
⎡ ⎤
4
xB = ⎣ 1 ⎦ ≥ 0,
3
⎡ ⎤
0
⎢ 0 ⎥ 3
c6 = c6 − AT·6 π = 0 − [0 0 1] ⎢ ⎥
⎣ 3 ⎦ = 2.
−
2
Poiché cN ≥ 0, la base B = {3, 4, 5} è ottima ed la soluzione ottima
è ⎡ ⎤
0
⎢ 0 ⎥
⎢ ⎥
⎢ 4 ⎥
x =⎢
∗ ⎥
⎢ 1 ⎥.
⎢ ⎥
⎣ 3 ⎦
0
10 2
A·B =
7 1
2
xB = ≥ 0,
1
e quindi B = {1, 4} è una base ammissibile. Risolvendo il sistema
lineare AT·B π = cB si ottiene
1
π=
−1
T 1
c2 = c2 − A·2 π = ρ − [1 1] = ρ,
−1
T 1
c3 = c3 − A·3 π = σ − [2 − 1] = σ − 3,
−1
Vertici, Basi, BFS ed ottimalità di una base 49
1
c5 = c5 − AT·5 π = θ − [1 β] = θ − 1 + β.
−1
Quindi, affinché la base ammissibile B = {1, 4} sia ottima deve
accadere che
ρ ≥ 0
σ ≥ 3
θ ≥ 1 − β.
1 1
A·B = ,
1 2
10
xB = ≥0
1
−2
π=
1
T −2
c2 = c2 − A·2 π = 5 − [−1 2] = 1,
1
T −2
c3 = c3 − A·3 π = −4 − [2 − 1] = 1,
1
T −2
c4 = c4 − A·4 π = 2 − [2 0] = 6,
1
50 Capitolo 3
−2
c6 = c6 − AT·6 π= −15 − [9 1] = 2,
1
T −2
c7 = c7 − A·7 π = 1 − [1 3] = 0.
1
Poiché i costi ridotti sono tutti nonnegativi, la base B = {1, 5}
è ottima.
1 1
A·B = ,
1 3
10.5
xB = ≥0
0.5
−2
π= .
1
1 α
A·B = ,
3 3
quindi det A·B = 3 − 3α = 3(1 − α), per cui det A·B
= 0 se
α
= 1.
α−5
xB = .
3
xB = A−1
.B b ≥ 0, xN = 0, |B| = m.
Si assuma che
B = {j1 , j2 , . . . , jm }
e
N = {1, . . . , n} − B = {jm+1 , . . . , jn } .
Step 1 Calcolare
π = A−T
.B cB
Step 2 Se
c̄jk ≥ 0, ∀k = m + 1, . . . , n
il punto corrente è soluzione ottima di base e l’algoritmo
termina. Viceversa, se c̄N
≥ 0 si scelga una componen-
te non in base con costo ridotto negativo (sia essa jr con
r ∈ {m + 1, . . . , n}) candidata ad entrare in base.
Step 3 Calcolare
Ā.jr = A−1
.B A.jr
Forma standard e Metodo del Simplesso 55
xjk (ρ) = 0, k = m + 1, . . . , n, k
= r
xjr (ρ) = ρ
xB (ρ) = A−1.B b − ρĀ.jr .
Si ha
Ax(ρ) = b, ∀ ρ
e
cT x(ρ) = cT x + c̄jr ρ.
Step 4 Se
Ā.jr ≤ 0
il punto x(ρ) è ammissibile
per ogni valore positivo di ρ, la
dB
direzione d = con dB = −Ā.jr , djr = 1 e djk = 0, k =
dN
m + 1, . . . , n, k
= r è una direzione di recessione di discesa
e quindi l’algoritmo termina indicando che il problema non
ha soluzione in quanto il valore della funzione obiettivo è
illimitato inferiormente.
Step 5 Se
Ā.jr
≤ 0
si calcoli il massimo valore di ρ per il quale risulta x(ρ) ≥ 0.
Questo valore massimo può essere calcolato come
A−1
.B b i
ρ̄ = min
i=1,...m Āijr
Āijr >0
min cT x
x
soggetto a Ax = b
x≥0
non sia disponibile una base iniziale questa può essere ottenuta
risolvendo il problema ausiliario
min eT a
x,a
soggetto a Ax + a = b
x ≥ 0, a ≥ 0
x1 + 2x2 ≥ 4
x1 ≤ 6
x1 + 2x2 ≤ 10
x1 − 6x2 ≥ −12
x1 ≥ 0, x2 ≥ 0
X = {x ∈ Rn : Ax = b, x ≥ 0}
e b ≥ 0. Inoltre trasformare il punto y ∈ P di
con n, A, b opportuni
6
coordinate y = in un equivalente punto x ∈ X.
2
min cT x
x
Ax = b (4.3)
x≥0
58 Capitolo 4
con
⎡⎤
7
4 1 1 α 4α − 5 ⎢ 4 ⎥
c=⎢ ⎥
A=
1 3 −1 3
b=
3α − 6 ⎣ 1 ⎦.
8
min cT x
Ax = b
x≥0
con ⎡ ⎤ ⎡ ⎤
−4 2 1 3 1 1 11
A = ⎣ 1 1 −1 1 −3 0 ⎦ b=⎣ 1 ⎦
−6 2 2 3 3 1 12
e
cT = [α, −11, −15, −18, −30, −7].
Si consideri la base B = {2, 3, 6}. Determinare per quali valori del
parametro α, a partire dalla base considerata, si può concludere che
il problema risulta illimitato inferiormente.
Esercizio 4.5. Sia dato il problema di Programmazione Lineare
Lineare
min 2x1 + x2 + 3x3 − 2x4 − 2x5
x
3x1 + 2x2 + 4x4 + (3α − 14)x5 = 11
x1 + 2x3 + 2x4 + (α − 6)x5 = 5
xi ≥ 0, i = 1, . . . , 5
min cT x
Ax = b
x≥0
con ⎡ ⎤ ⎤
⎡
−4 2 1 3 1 1 11
A = ⎣ 1 1 −1 1 −3 0 ⎦ b=⎣ 1 ⎦
−6 2 2 3 3 1 12
e
cT = [100, −11, −15, −18, −30, −7].
Si consideri la base B = {2, 3, 6}. Si esegua un passo del Metodo
del Simplesso determinando la variabile entrante ed uscente.
Esercizio 4.8. Si consideri il problema di Programmazione Lineare:
min cT x
x
Ax = b (4.4)
x≥0
con
1 −1 1 −α 1 −1 1
A= b=
−1 2 3 −2 4 4 1
cT = [−3, 5, 4, α − 6, 11, 10] ,
e sia B = {1, 2} la base corrente.
60 Capitolo 4
min −4x1 − x2
x
3x1 + 2x2 ≤ 15
x1 + 4x2 ≤ 20
x1 ≤ 3
x1 + 2x2 ≤ 10
x1 ≥ 0, x2 ≥ 0
Forma standard e Metodo del Simplesso 63
−4x1 + x2 − x5 = 1.
−3x1 − 12x3 + x4 + x6 = 2.
Anche per il quarto vincolo del Problema (4.2), come per il primo
vincolo, si deve introdurre una variabile surplus x7 :
x2 + x3 + 50x4 + x7 = 3.
6
Quindi il punto y = ∈ P viene trasformato nel punto
2
⎡ ⎤
6
⎢ 2 ⎥
⎢ ⎥
⎢ 6 ⎥
x=⎢ ⎥ ∈ X.
⎢ 0 ⎥
⎢ ⎥
⎣ 0 ⎦
6
In questo caso
3 3α − 14
A·B =
1 α−6
il cui determinante è diverso da 0 per ogni α.
66 Capitolo 4
17
c3 < 0: questo accade se α > 3
. Il vettore A·3 (ottenuto risolven-
Forma standard e Metodo del Simplesso 67
3 4
e per la base B= {1, 4}, A·B =
1 2
68 Capitolo 4
3
π=
−7
T 3
c2 = c2 − A·2 π = 1 − [2 0] = −5
−7
T 3
c3 = c3 − A·3 π = 3 − [0 2] = 17
−7
T 3
c5 = c5 − A·5 π = −2 − [(3α − 14) (α − 6)] = −2 − 2α.
−7
Quindi α > −1 fornisce la prima condizione sul parametro α. Dal
sistema lineare A·B A·5 = A·5 ) si ha
α−2
A·5 =
−2
x1 (ρ) = 0
x4 (ρ) = 0
x5 (ρ) = ρ
xB0 (ρ) = A−1·B0 b − ρA·5
1 −1
A·B = ,
−1 2
3
quindi detA·B = 1 e xB = . Dal sistema lineare AT·B π =
2
cB , si ottiene
−1
π=
2
e il costo ridotto per la variabile non in base c4 risulta:
T −1
c4 = c4 −A·4 π = (α−6)−[−α −2] = α−6−(α+4) = −2.
2
2(α + 1)
A·4 = −
2+α
x2 (ρ) = 0
x4 (ρ) = ρ
xB0 (ρ) = A−1·B0 b − ρA·4
9 2 1
Si ha quindi ρ = min{ 7/4 , 1/4 , 1/4 } = 4 e pertanto la variabile
x5 esce dalla base. Quindi la nuova base risulta B1 = {1, 3, 4}
e il punto x1 diventa:
⎡ ⎤
2
⎢ 0 ⎥
⎢ ⎥
x1 = x(ρ) = ⎢ ⎥
⎢ 1 ⎥.
⎣ 4 ⎦
0
min x5 + x6
3x1 − 2x2 − x3 + x5 = 1
−x1 + 2x2 − x4 + x6 = 1
xi ≥ 0, i = 1, . . . , 6
1 0 1
A·B0 = e xB =
0 1 1
T
Dal sistema lineare A·B0 π = cB0 si ottiene il valore del vettore π:
1
π=
1
T 1
c1 = c1 − A·1 π = 0 − [3 − 1] = −2
1
T 1
c2 = c2 − A·2 π = 0 − [−2 2] =0
1
T 1
c3 = c3 − A·3 π = 0 − [−1 0] =1
1
T 1
c4 = c4 − A·4 π = 0 − [0 − 1] =1
1
Forma standard e Metodo del Simplesso 75
3
A·1 =
−1
Si ha quindi ρ = min{ 13 } = 1
3
e pertanto la variabile x5 esce dalla
base.
x1 (ρ) = ρ
x2 (ρ) = 0
x3 (ρ) = 0
xB0 (ρ) = A−1·B0 b − ρA·1
Forma standard e Metodo del Simplesso 77
min x5 + x6
2x1 − 3x2 + 2x3 + 2x4 + x5 = 120
8x1 + x2 + x3 + 5x4 + x6 = 160
xi ≥ 0, i = 1, . . . , 6
1 0 120
A·B0 = e xB = .
0 1 160
Dal sistema lineare AT·B0 π = cB0 si ottiene il valore del vettore π:
1
π=
1
T 1
c1 = c1 − A·1 π = 0 − [2 8] = −10
1
78 Capitolo 4
1
c2 = c2 − AT·2 π = 0 − [−3 1] =2
1
1
c3 = c3 − AT·3 π = 0 − [2 1] = −3
1
1
c 4 = c4 − AT·4 π = 0 − [2 5] = −7.
1
Il criterio di ottimalità non è soddisfatto. Si scelga la variabile x1
come variabile entrante in base. Per determinare la variabile che
esce dalla base è necessario prima di tutto calcolare il vettore A·1
risolvendo il sistema lineare A·B0 A·1 = A·1 :
2
A·1 =
8
x1 (ρ) = ρ
x2 (ρ) = 0
x3 (ρ) = 0
x4 (ρ) = 0
xB0 (ρ) = A−1·B0 b − ρA·1
(5) 120 2
−ρ .
(6) 160 8
⎡ ⎤
20
⎢ 0 ⎥
⎢ ⎥
⎢ 0 ⎥ 1 2
1
x =⎢ ⎢ ⎥ A·B1 = .
⎥
⎢ 0 ⎥ 0 8
⎣ 80 ⎦
0
Dal sistema lineare AT·B1 π = cB1 si ottiene
1
π=
− 14
T 1 13
c2 = c2 − A·2 π = 0 − [−3 1] =
− 14 4
T 1 7
c3 = c3 − A·3 π = 0 − [2 1] 1 =−
−4 4
1 3
c4 = c4 − AT·4 π = 0 − [2 5] 1 =−
−4 4
1 5
c6 = c6 − AT·6 π = 1 − [0 1] 1 = .
−4 4
Il criterio di ottimalità non è soddisfatto. Scegliendo la variabile
x3 come variabile entrante in base, per determinare la variabile che
esce dalla base è necessario prima di tutto calcolare il vettore A·3
risolvendo il sistema lineare A·B1 A·3 = A·3 da cui:
7
4
A·3 = ,
1
8
80 20
Si ha quindi ρ = min{ 7/4 , 1/8 } = 80 · 47 , la variabile x5 esce dalla
base. La nuova base risulta B2 = {3, 1}
min x5 + x6
2x1+ − 2x1− + 3x2 + 4x3 + 2x4 + x5 = 300
8x1+ − 8x1− + x2 + x3 + 5x4 + x6 = 300
x1+ ≥ 0, x1− ≥ 0, xi ≥ 0, i = 2, . . . , 6
1 0 300
A·B0 = e xB = .
0 1 300
Dal sistema lineare AT·B0 π = cB0 si ottiene:
1
π=
1
T 1
c1+ = c1+ − A·1+ π = 0 − [2 8] = −10
1
T 1
c1− = c1− − A·1− π = 0 − [−2 − 8] = 10
1
Forma standard e Metodo del Simplesso 81
1
c 2 = c2 − AT·2 π = 0 − [3 1] = −4
1
1
c 3 = c3 − AT·3 π = 0 − [4 1] = −5
1
1
c4 = c4 − AT·4 π = 0 − [2 5] = −7.
1
Il criterio di ottimalità non è soddisfatto. Si scelga la variabile
x3 come variabile entrante in base. Per determinare la variabile
che esce dalla base è necessario calcolare il vettore A·3 risolvendo il
sistema lineare A·B0 A·3 = A·3 :
4
A·3 =
1
min x6
x
x1 − x2 + 2x3 + x6 = 5
2x1 + 4x2 − x3 + x4 = 0
3x1 + 2x2 + x3 + x5 = 6
xi ≥ 0, i = 1, . . . , 6
82 Capitolo 4
min −4x1 − x2
3x1 + 2x2 + x3 = 15
x1 + 4x2 + x4 = 20
(4.9)
x1 + x5 = 3
x1 + 2x2 + x6 = 10
xi ≥ 0, i = 1, . . . , 6
⎡ ⎤
⎡ ⎤ ⎡ ⎤ −4
3 2 1 0 0 0 15 ⎢ −1 ⎥
⎢ ⎥
⎢ 1 4 0 1 0 0 ⎥ ⎢ 20 ⎥ ⎢ 0 ⎥
A=⎢ ⎥ b=⎢ ⎥ c=⎢ ⎥.
⎣ 1 0 0 0 1 0 ⎦ ⎣ 3 ⎦ ⎢ 0 ⎥
⎢ ⎥
1 2 0 0 0 1 10 ⎣ 0 ⎦
0
84 Capitolo 4
x1 (ρ) = ρ
x2 (ρ) = 0
xB0 (ρ) = A−1·B0 b − ρA·1
⎡ ⎤
0
⎢ 0 ⎥
c2 = c2 − AT·2 π = −1 − [2 4 0 2] ⎢ ⎥
⎣ −4 ⎦ = −1.
0
La variabile x2 entra in base. Per determinare la variabile che
esce dalla base è necessario prima di tutto calcolare la colonna
modificata, A·2 , risolvendo il sistema lineare A·B1 A·2 = A·2 :
⎡ ⎤
2
⎢ 4 ⎥
A·2 = ⎢ ⎥
⎣ 0 ⎦.
2
x2 (ρ) = ρ
x5 (ρ) = 0
xB1 (ρ) = A−1·B1 b − ρA·2
B N xT
0 3, 4, 5, 6 1, 2 [0 0 15 20 3 10]
1 3, 4, 1, 6 5, 2 [3 0 6 17 0 7]
2 2, 4, 1, 6 5, 3 [3 3 0 5 0 1]
Capitolo 5
Dualità e Condizioni di
Complementarità
min cT x + d T y
x,y
soggetto a Ax + By = b
Cx + Dy ≤ f (5.1)
Ex + F y ≥ g
x≥0 y≷0
max bT u + f T w + g T s
u,w,s
soggetto a AT u + C T w + E T s ≤ c (5.2)
B T u + DT w + F T s = d
u≶0 w≤0 s≥0
max bT π
π (5.3)
soggetto a AT π ≤ c
bT π ∗ = cT x∗ .
x∗ T (c − AT π ∗ ) = 0.
Dualità e Condizioni di Complementarità 91
min cT x max bT u
Ax ≥ b AT u ≤ c
x≥0 u≥0
min cT x − dT y
x,y
Ax ≤ a
By ≤ b (5.4)
Cx + Dy = d
x ≥ 0, y ≷ 0,
max cT x − dT y
x,y
Ax ≤ a
By ≤ b (5.5)
Cx + Dy = d
x ≥ 0, y ≷ 0,
min cT x − dT y
x,y
Ax ≤ a
By ≤ b (5.6)
Cx + Dy = d
x ≥ 0, y ≥ 0,
92 Capitolo 5
min cT x − dT y
x,y
Ax ≤ a
By ≤ b (5.7)
Cx + Dy = d
x ≷ 0, y ≷ 0,
max cT x − dT y
x,y
Ax ≤ a
By ≤ b (5.8)
Cx + Dy = d
x ≷ 0, y ≷ 0,
dove a, b, c, d e x, y sono vettori di opportune dimensioni e A, B, C, D
sono matrici di opportune dimensioni.
Esercizio 5.2. Costruire il duale del seguente problema di Progam-
mazione Lineare
mazione Lineare:
min 5x2 + 8x3
x1 ,x2 ,x3
15x1 + 12x2 + 7x3 ≥ 12
x1 + x3 ≥ 1 (5.10)
x2 + 13x3 ≥ −3
x1 − x3 ≤ 20
x1 ≤ 0, x2 ≥ 0, x3 ≶ 0.
min cT x + dT y
x,y
Ax + By = a (5.11)
b ≤ Cx + Dy ≤ f
x ≶ 0, y ≶ 0.
dove A, B, C, D sono matrici e a, b, c, d, f, x, y sono vettori di op-
portune dimensioni.
Esercizio 5.5. Dato il problema di Progammazione Lineare
min c1 x1 + c2 x2 + c3 x3
x
2x1 − 2x2 − x3 ≤ −2
−x1 − 4x2 + x3 ≤ −1
x1 ≥ 0 x2 ≥ 0 x3 ≥ 0
con c1 ∈ R, c2 ∈ R, c3 ∈ R. Utilizzando la teoria della dualità,
stabilire se esistono valori (non tutti nulli) di c1 , c2 , c3 tali che il
94 Capitolo 5
⎡ ⎤
0
punto x = ⎣ 2 ⎦ è una soluzione ottima del problema.
0
max 2x1 + x2 + x3
x
2x1 + 2x2 + 3x3 ≤ 4 (5.12)
x1 + 4x2 + x3 ≤ 1
x1 ≥ 0 x2 ≥ 0 x3 ≥ 0
⎡ ⎤
1
si consideri il punto x = 0 ⎦ soluzione ammissibile per il Pro-
⎣
0
0
blema (5.12) e il punto π = soluzione ammissibile per il
2
problema duale associato a (5.12). Attraverso le condizioni di com-
plementarità verificare se x è una soluzione ottima del Problema
(5.12).
min x2
x
4 ≤ x1 + 2x2 ≤ 10 (5.13)
x1 ≤ 6
x1 − 6x2 ≥ −12
Costruire il duale del Problema (5.13) e determinare le condizioni
di complementarità. Usando
le condizioni
di complementarità, ve-
6 4
=
rificare se i punti x ex= sono soluzioni ottime del
−1 0
Problema (5.13) ed in caso affermativo determinare una soluzione
ottima del problema duale.
1 0 2 3
x = x = .
1 1
4
=
(5.15). Inoltre verificare se il punto x risolve il Problema
−1
(5.16).
96 Capitolo 5
max 2x1
x
3x1 + 7x2 ≤ 3
2x1 + x2 ≥ 1 (5.17)
x1 − x2 = 1
x1 ≥ 0, x2 ≥ 0.
max aT π 1 + bT π 2 + dT π 3
π
AT π 1 + C T π 3 ≤ c
B T π 2 + DT π 3 = −d
π 1 ≤ 0, π 2 ≤ 0, π 3 ≷ 0.
Il duale del problema di Progammazione Lineare (5.5) è:
min aT π 1 + bT π 2 + dT π 3
π
AT π 1 + C T π 3 ≥ c
B T π 2 + DT π 3 = −d
π 1 ≥ 0, π 2 ≥ 0, π 3 ≷ 0.
Il duale del problema di Progammazione Lineare (5.6) è:
max aT π 1 + bT π 2 + dT π 3
π
AT π 1 + C T π 3 ≤ c
B T π 2 + DT π 3 ≤ −d
π 1 ≤ 0, π 2 ≤ 0, π 3 ≷ 0.
Il duale del problema di Progammazione Lineare (5.7) è:
max aT π 1 + bT π 2 + dT π 3
π
AT π 1 + C T π 3 = c
B T π 2 + DT π 3 = −d
π 1 ≤ 0, π 2 ≤ 0, π 3 ≷ 0.
Il duale del problema di Progammazione Lineare (5.8) è:
min aT π 1 + bT π 2 + dT π 3
π
AT π 1 + C T π 3 = c
B T π 2 + DT π 3 = −d
π 1 ≥ 0, π 2 ≥ 0, π 3 ≷ 0.
98 Capitolo 5
(i) Il duale è:
min −π1 − 2π2
π
−π1 + π2 ≤ 4
π1 + π2 ≤ 8
π1 ≥ −3
π2 ≥ −2
∗ 2
Una soluzione ottima è π = .
6
x1 (4 + π1 − π2 ) = 0
x2 (8 − π1 − π2 ) = 0
x3 (π1 + 3) = 0
x4 (π2 + 2) = 0.
∗ 2
Poichè π = , dalle condizioni di complementarità si ha
6
x3 = 0, x4 = 0 e dall’ammissibilità si ottiene il sistema:
−x1 + x2 = −1
x1 + x2 = −2
Dualità e Condizioni di Complementarità 99
max aT π 1 + bT π 2 + f T π 3
π
AT π 1 + C T π 2 + C T π 3 = c
B T π1 + DT π2 + DT π3 = d
π 1 ≶ 0, π 2 ≥ 0, π 3 ≤ 0.
π1 (5 − x1 − 2x2 − x3 ) = 0
x1 (π1 + 2π2 − 5) = 0
(5.18)
x2 (2π1 − π2 − 6) = 0
x3 (π1 + 3π2 − 2) = 0
e quindi π1∗ = 17
5
e π2∗ = 45 . Sostituendo le coordinate dei punti π1∗
∗
e π2 nelle condizioni di complementarità (5.18) si ottiene il sistema
∗
x3 = 0
x∗1 + 2x∗2 = 5
max −2π1 − π2
π
2π1 − π2 ≤ c1
−2π1 − 4π2 ≤ c2
−π1 + π2 ≤ c3
π1 ≤ 0, π2 ≤ 0
Dualità e Condizioni di Complementarità 101
π 1 = 0, π 2 = 0, 2(c2 + 2π 1 + 4π 2 ) = 0
min 4π1 + π2
π
2π1 + π2 ≥ 2
2π1 + 4π2 ≥ 1
3π1 + π2 ≥ 1
π1 ≥ 1, π2 ≥ 0.
Il problema duale è:
(5.19) si ottiene π:
⎡ ⎤
0
⎢ 0 ⎥
⎢ ⎥
π = ⎢ ⎥,
⎣ 0 ⎦
0
che non risulta duale ammissibile, quindi x non è soluzione ottima
del problema primale.
x1 (π1 + π2 + π3 − 3) = 0
π1 (x1 + 2x2 − 2) = 0
π2 (5 − x1 + x2 ) = 0
π3 (8 − x1 − 2x2 ) = 0
x1 (1 − π1 − π2 − π3 ) = 0
π1 (x1 + 2x2 − 2) = 0
π2 (5 − x1 + x2 ) = 0
π3 (8 − x1 − 2x2 ) = 0.
min 3π1 + π2 + π3
π
3π1 + 2π2 + π3 ≥ 2
7π1 + π2 − π3 ≥ 0
π1 ≥ 0, π2 ≤ 0, π3 ≷ 0.
3π1 + π3 − 2 = 0 (5.22)
106 Capitolo 5
Il Metodo di
Branch–and–Bound
min cT x
x (Pi )
x ∈ Si
z ∗∗ = min zi∗∗
i=1,...,r
min cT x
x (Pi )
x ∈ Si
min cT x
x (PiR )
x ∈ Ti
dove Si ⊆ Ti
Poiché in generale, risolvere un sottoproblema può risultare diffi-
cile tanto quanto risolvere il problema originario, nella fase di Boun-
ding si individua non la soluzione esatta del sottoproblema (Pi ) ma
si effettua un’analisi del sottoproblema rilassato (PiR ) dalla quale
si individua un lower bound z i per il valore ottimo zi∗∗ . Nel caso in
cui il sottoproblema rilassato (PiR ) abbia regione ammissibile vuota
si pone z i = +∞ e quindi Si = ∅ ed il sottoproblema non richie-
de ulteriore analisi. Se il problema (PiR ) è illimitato inferiormente
allora si pone z i = −∞. Tipicamente, la quantità z i può essere
z = min z j .
j∈T
z ≤ z ∗∗ ≤ z
min cT x
x
Ax = b (6.2)
x ≥ 0,
max cT x
x
Ax = b (6.2)
x ≥ 0, e intero
decisionali
1 se si sceglie l’oggetto j
xj = j = 1, . . . , n
0 altrimenti,
n
max cj xj
j=1
n
(6.3)
soggetto a aj xj ≤ b
j=1
xj ∈ {0, 1}, j = 1, . . . , n
n
max cj xj
j=1
n
(6.4)
soggetto a aj xj ≤ b
j=1
0≤x≤1
k−1
k
ai ≤ b e ai > b.
i=1 i=1
• la soluzione ottima è
x∗i = 1, per i = 1, . . . , k − 1
k−1
b− ai
i=1
x∗k =
ak
x∗i = 0, per i = k + 1, . . . , n
0 z0∗
z1∗ = 50 1 2
z3∗∗ = +∞ 3 4
z5∗∗ = 70 5
∗
6 z6
0 z0∗
z1∗ = +∞ 1 2
z3∗∗ = 50 3 4
z5∗∗ = 70 5
∗
6 z6
0 z0∗ = 98
z1∗ = 85 1
∗
2 z2
z3∗∗ = 96 3
∗
4 z4 = 95
z5∗∗ = −∞ 5 ∗
6 z6
(ii) determinare l’intervallo dei possibili valori per z6∗ che consente
di terminare l’algoritmo ed identificare il valore della soluzione
ottima.
0 z0∗ = 100
z1∗∗ = 150 1
∗
2 z2
z3∗ = +∞ 3 4
z5∗ = 170 5
∗
6 z6
0 z0∗ = 100
∗
1 2 z2
z3∗ 3
z4∗∗ = −∞ 4 ∗
5 z5 = 75
z6∗ 6
∗
7 z7
z8∗ 8
∗∗
9 z9 = 50
(iv) identificare (se esistono) valori di z2∗ (in funzione delle quan-
tità nei nodi terminali) per i quali è possibile terminare l’al-
goritmo e spiegare perché.
120 Capitolo 6
max 3x1 + x2
−x1 + 3x2 ≤ 9
(6.8)
4x1 + 2x2 ≤ 26
x1 ≥ 0, x2 ≥ 0 interi
max x1 + x2
−x1 + x2 ≤ 2
2x1 + x2 ≤ 5
(6.9)
x1 ≤ 2
0 ≤ x2 ≤ 2
x1 , x2 interi
122 Capitolo 6
(ii) 50 ≤ z ∗∗ ≤ 70.
(i) Per z6∗ ≥ 50, il valore della soluzione ottima risulta z ∗∗ = 50.
(ii) 40 ≤ z ∗∗ ≤ 50.
(i) 96 ≤ z2∗ ≤ 98
(ii) Se z6∗ ≤ 96, poiché z3∗∗ = 96, è possibile chiudere sia il nodo
1 che il nodo 6 e l’algoritmo termina con z ∗∗ = 96.
(iv) non è possibile identificare alcun valore per z2∗ perché esistono
due nodi di cui completare lo sviluppo, precisamente il nodo
7 e il nodo 8.
max 2x1 + x2
x1 + x2 ≤ 6
−10x1 + 3x2 ≤ 30
(P4R )
x1 ≤ 32
x2 ≥ −3
x2 ≥ 5
dove (P1R ) e (P2R ) si ottengono separando rispetto alla variabile
x1 ; mentre (P3R ) e (P4R ) rispetto
a x2 . Il sottoproblema (P1R ) ha
1
soluzione ottima x∗,1 = e z1∗ = 7. Quindi è possibile chiude-
5
re il sottoproblema in quanto la soluzione del rilassamento lineare
è intera. Avendo trovato una soluzione ammissibile del problema
originario si può aggiornare il lower bound ottenendo:
z = 7 e quindi 7 = z ≤ z ∗∗ ≤ z = 7.5
z = 7 e quindi 7 = z ≤ z ∗∗ ≤ z = 7
zione matematica
min −3x1 − 5x2
x
20x1 + 33x2 ≤ 110 (P0R )
x1 ≥ 0, x2 ≥ 0
0 z0∗ = − 50
3
x2 ≤ 3 x2 ≥ 4
1 2
11
0 z0∗ = − 50
3
x2 ≤ 2 x2 ≥ 3
z1∗ = − 333
20 1 2 z2∗ = +∞
La lista dei nodi aperti contiene il solo nodo 1 e quindi viene se-
lezionato. Si procede quindi alla fase di branching rispetto alla
prima componente di x1 . Si aggiungono alla formulazione di (P1R )
i due vincoli x1 ≤ 0 e x1 ≥ 1. In tal modo si ottengono i due
sottoproblemi seguenti:
0 z0∗ = − 50
3
x2 ≤ 3 x2 ≥ 4
z1∗ = − 333
20 1 2 z2∗ = +∞
x1 ≤ 0 x1 ≥ 1
3 4
0
Risolvendo il sottoproblema (P3R )
si ha x = ∗,3
e z3∗ = −15
3
ed è possibile chiudere il sottoproblema (P3R ) (e quindi il nodo 3
relativo) in quanto la soluzione del rilassamento lineare è intera e
quindi abbiamo z3∗ = z3∗∗ . Avendo trovato una soluzione ammissi-
bile del problema (6.6), possiamo si può aggiornare l’upper bound
ottenendo:
z = −15
e quindi
333
− = z ≤ z ∗∗ ≤ z = −15
20
1
La soluzione del sottoproblema (P4R ) è, invece, x ∗,4
= 90 e
33
z4∗ = − 183
11
. Non è possibile chiudere il problema (P4R ) in quanto la
soluzione x∗,4 non è intera, quindi il problema viene inserito nella
128 Capitolo 6
0 z0∗ = − 50
3
x2 ≤ 3 x2 ≥ 4
z1∗ = − 333
20 1 2 z2∗ = +∞
x1 ≤ 0 x1 ≥ 1
x2 ≤ 2 x2 ≥ 3
z5∗ = − 83
5 5
∗
6 z6 = +∞
Dalla lista dei nodi aperti si estrae l’unico nodo presente 5. Si pro-
cede quindi alla fase di branching rispetto alla prima componente.
Si aggiungono alla formulazione del problema i due vincoli x1 ≤ 2
e x1 ≥ 3 e si ottengono i due sottoproblemi seguenti:
2
La soluzione ottima del problema (P7R ) è x∗,7 = e z7∗ =
2
−16. A questo punto si può aggiornare l’upperbound z = −16 e
poiché z = −16 il punto x∗,7 risolve il problema originario e non
è nemmeno necessario risolvere il problema nel nodo 8:
0 z0∗ = − 50
3
x2 ≤ 3 x2 ≥ 4
z1∗ = − 333
20 1 2 z2∗ = +∞
x1 ≤ 0 x1 ≥ 1
x1 ≤ 2 x2 ≥ 3
z5∗ = − 83
5 5
∗
6 z6 = +∞
x1 ≤ 2 x1 ≥ 3
Allora
2 3 4 1
1
> 3
> 5
> 3
x2 x1 x3 x4
y1 y2 y3 y4
Utilizzando il cambio di variabile indicato sopra il problema di
programmazione lineare intera diventa:
z = 6 e quindi 6 = z ≤ z ∗∗ ≤ z = 7.4
z = 7 e 6 = z ≤ z ∗∗ ≤ z = 7
sottoproblemi seguenti:
Allora
4 6 4 1 1
1
> 2
> 3
> 2
> 4
x1 x4 x3 x2 x5
y1 y2 y3 y4 y5
Utilizzando il cambio di variabili mostrato sopra, il problema di
programmazione lineare intera diventa:
z = 15 e 15 = z ≤ z ∗∗ ≤ z = 15.05
3
x = 15 e z0∗ = 21.
∗,0
2
138 Capitolo 6
0 z0∗ = 21
x2 ≤ 7 x2 ≥ 8
1 2
3
Risolvendo il sottoproblema (P1R ) si ha x∗,1
= e z1∗ = 20
7
Il Metodo di Branch–and–Bound 139
z = 20 e 20 = z ≤ z ∗∗ ≤ z = 21
∗∗ 3
x = z ∗∗ = 20
7
max 3x1 + x2
−x1 + 3x2 ≤ 9
(P0R )
4x1 + 2x2 ≤ 26
x1 ≥ 0, x2 ≥ 0
max 3x1 + x2
−x1 + 3x2 ≤ 9
4x1 + 2x2 ≤ 26 (P1R )
x1 ≤ 6
x1 ≥ 0, x2 ≥ 0
max 3x1 + x2
−x1 + 3x2 ≤ 9
4x1 + 2x2 ≤ 26 (P2R )
x1 ≥ 7
x1 ≥ 0, x2 ≥ 0
I sottoproblemi (P1R ) e (P2R ) corrispondono ai due nodi terminali
dell’albero:
0 z0∗ = 19.5
x1 ≤ 6 x1 ≥ 7
1 2
6
Risolvendo il sottoproblema (P1R )si ha x =∗,1
e z1∗ = 19 ed
1
è possibile chiudere il sottoproblema (P1R ) (e quindi il nodo 1 ) in
quanto la soluzione del rilassamento lineare è intera. Avendo de-
terminato una soluzione ammissibile del problema (6.8), è possibile
aggiornare il lower bound:
z = 19 e 19 = z ≤ z ∗∗ ≤ z = 19.5
∗∗ 6
x = z ∗∗ = 19
1
max x1 + x2
−x1 + x2 ≤ 2
2x1 + x2 ≤ 5 (P0R )
x1 ≤ 2
0 ≤ x2 ≤ 2
max x1 + x2
−x1 + x2 ≤ 2
2x1 + x2 ≤ 5 (P1R )
x1 ≤ 1
0 ≤ x2 ≤ 2
142 Capitolo 6
max x1 + x2
−x1 + x2 ≤ 2
2x1 + x2 ≤ 5 (P2R )
x1 ≥ 2
0 ≤ x2 ≤ 2
I sottoproblemi (P1R ) e (P2R ) corrispondono ai due nodi terminali
dell’albero:
0 z0∗ = 3.5
x1 ≤ 1 x1 ≥ 2
1 2
1
Risolvendo il sottoproblema (P1R )
si ha x = ∗,1
e z1∗ = 3 ed è
2
possibile chiudere il sottoproblema (P1R ) (e quindi il nodo 1 relativo)
in quanto la soluzione del rilassamento lineare è intera. Avendo
determinato una soluzione ammissibile del problema (6.9), si può
aggiornare il lower bound:
z = 3 e 3 = z ≤ z ∗∗ ≤ z = 3.5
2
Risolvendo il sottoproblema (P2R ) si ottiene x∗,2 = e z2∗ = 3
1
ed è possibile chiudere il sottoproblema (P2R ) (e quindi il nodo 2
relativo) in quanto la soluzione del rilassamento lineare è intera. La
lista A dei problemi aperti è vuota e l’algoritmo termina fornendo
come soluzioni ottime entrambi i punti
1 2
e con z ∗∗ = 3.
2 1
Capitolo 7
Domande
min cT x max bT π
x π
Ax = b AT π ≤ c (7.1)
x≥0
Domanda 7.10. Quale ruolo gioca il vettore dei costi ridotti nel
Metodo del Simplesso?
Domanda 7.11. Per un problema di Programmazione Lineare quali
sono i possibili metodi di terminazione e come sono identificati dal
Metodo del Simplesso?
Capitolo 8
regole del Sudoku) una griglia quando è noto che la soluzione esiste
ed è unica.
Infine Lynce e Ouaknine (http://www.inesc-id.pt/ficheiros/
publicacoes/2777.pdf, Sudoku as a SAT Problem) mostrano co-
me formulare il Sudoku come un problema SAT (l’acronimo SAT
è una sigla comunemente utilizzata per denotare il problema della
Soddisfacibilità Booleana o anche detto della Soddisfacibilità Pro-
posizionale, dove si intende implicitamente che la funzione e le sue
variabili sono tutte valutate in modo binario. SAT è un proble-
ma molto studiato in Ricerca Operativa) e possibili metodologie di
soluzione basate su tecniche di inferenza.
Bibliografia
[2] R.G. Bland. New pivot rules for the simplex method.
Mathematics of Operations Research, 2:103–107, 1977.
159
160 Bibliografia
[13] V. Klee and G.J Minty. How good is the simplex algorithm?,
1972.
www.aracneeditrice.it
Finito di stampare nel mese di ottobre del 2011
dalla « Ermes. Servizi Editoriali Integrati S.r.l. »
00040 Ariccia (RM) – via Quarto Negroni, 15
per conto della « Aracne editrice S.r.l. » di Roma