per il corso di
Calcolo Matriciale e Ricerca Operativa
5 dicembre 2017
Programmazione lineare
soggetto a
x1 + 2x2 − x3 ≥5
2x1 + 4x3 = 12 (a)
x1 + x2 + x3 ≤ 15
x1 , x2 ≥ 0, x3 libera.
————
max 4x1 − x2
soggetto a
x1 + x2 − x3 =8
(b)
3x1 + x3 ≤7
x1 ≥ 0, x2 libera, x3 ≤ 0.
————
min 8x1 − x2 + x3
soggetto a
x1 + x3 ≥4
x2 − x3 ≤7 (c)
x1 − x2 ≤2
x1 , x2 ≥ 0, x3 ≤ 0.
————
max 4x1 − x2
1
2
soggetto a
x1 + 2x2 ≤2
(d)
2x1 + 7x2 =8
x1 ≥ 0, x2 ≤ 0.
————
soggetto a
x1 + x2 ≥4
x2 + x3 ≤7
(e)
x3 − x4 ≤2
x1 − x4 = 12
x1 , x2 .x3 ≥ 0, x4 libera.
————
soggetto a
x1 + x2 + x3 ≤ 12
x1 − x2 ≥2 (f )
x2 + x3 ≤4
x1 ≥ 0, x2 libera, x3 ≤ 0.
soggetto a
————
soggetto a
x1 − 2x2 + x3 ≤2
(b)
3x1 − x2 − 2x3 ≤6
x1 , x2 , x3 ≥ 0
————
max 2x1 + x2 + 3x3
soggetto a
x1 + x2 + x3 ≤2
(c)
2x1 + 3x2 + 8x3 ≤ 12
x1 , x2 , x3 ≥ 0.
————
min 3x1 + x2 − 2x3 − x4
soggetto a
2x1 + x2 − x3 + 3x4 ≤8
− x1 + 2x2 − 2x3 + 2x4 ≤4 (d)
x1 + x3 ≤ 10
x1 , . . . , x4 ≥ 0.
————
max x1 + 3x2 − x3
soggetto a
2x1 + x2 ≤3
x1 + x2 + 3x3 ≤6 (e)
2x1 + x2 + 3x3 ≤8
x1 , x2 , x3 ≥ 0.
————
max 4x1 + x2 + 5x3
soggetto a
− x1 + x2 ≤1
2x2 − x3 ≤2 (f )
x1 + x3 ≤1
x1 , x2 , x3 ≥ 0.
4
soggetto a
————
soggetto a
————
soggetto a
x1 + x2 + 2x3 =3
(c)
2x1 + x2 + 3x3 =5
x1 , x2 , x3 ≥ 0.
————
max x1 + x2 + x3
soggetto a
− x1 − 2x2 + x3 + x4 =5
4x2 + x3 + 2x4 =2 (d)
3x2 − 2x4 ≤6
x1 , . . . , x4 ≥ 0.
————
soggetto a
− x1 + 2x2 + x3 − x4 ≥2
(e)
2x1 − x2 + x3 − 5x4 ≤ −3
x1 , . . . , x4 ≥ 0.
————
min x1 + x2 − 2x3
soggetto a
2x1 + x2 + x3 =2
3x1 + x2 + 2x3 =5 (f )
x1 + 2x2 + x3 =4
x1 , x2 , x3 ≥ 0.
offerte/
Esercizio 1.4 ——————————————————————–
Per i programmi lineari dell’esercizio 1.2, dire se le basi finali risultano ottime
cambiando l’obiettivo come segue.
max x1 + x2
soggetto a
2x1 − x2 ≥4
x1 + 4x2 ≤ 10 (a)
x2 ≥1
x1 , x2 ≥ 0.
————
min 2x1 + x2
6
soggetto a
x1 + 4x2 ≥8
x1 ≥2 (b)
− 2x1 + x2 ≤4
x1 , x2 ≥ 0.
————
max 2x1 − x2
soggetto a
x1 + 4x2 ≥8
x1 ≥2 (c)
− 2x1 + x2 ≤4
x1 , x2 ≥ 0.
————
2 8
max x1 + x2
3 3
soggetto a
x1 + 4x2 ≤9
x1 ≤8 (d)
x2 ≤2
x1 , x2 ≥ 0.
Parte II
Soluzioni
7
8
• introdurre una variabile di surplus nel primo vincolo per scriverlo in forma
di uguaglianza;
• introdurre una variabile di slack nel terzo vincolo per scriverlo in forma di
uguaglianza.
Si ottiene quindi
−
− max −3x1 − 4x2 + 2x+
3 − 2x3
soggetto a
−
x1 + 2x2 − x+
3 + x3 − x4 =5
2x1 + 4x+
3 − 4x−
3 = 12
−
x1 + x2 + x+ 3 − x3 + x5 = 15
−
x1 , x2 , x+
3 , x3 , x4 , x5 ≥ 0.
soggetto a
−
x1 + x+
2 − x2 + x̄3 =8
3x1 − x̄3 + x4 =7
−
x1 , x+
2 , x2 , x̄3 , x4 ≥ 0.
soggetto a
x1 − x̄3 − x4 =4
x2 + x̄3 + x5 =7
x1 − x2 + x6 =2
x1 , x2 , x4 , x5 , x6 , x̄3 ≥ 0.
soggetto a
x1 − 2x̄2 + x3 =2
2x1 − 7x̄2 =8
x1 , x̄2 , x3 ≥ 0.
soggetto a
x1 + x2 − x5 =4
x2 + x3 + x6 =7
x3 − x+
4 + x−
4 + x7 =2
+ −
x1 − x4 + x4 = 12
−
x1 , x2 , x3 , x5 , x6 , x7 , x+
4 , x4 ≥ 0.
(f ) Forma standard:
soggetto a
−
x1 + x+
2 − x2 − x̄3 + x4 = 12
x1 − x+
2 + x−
2 − x5 =2
x2 − x̄3 + x6 =4
−
x1 , x2 , x4 , x5 , x6 , x̄3 , x+
2 , x2 ≥ 0.
soggetto a
soggetto a
x1 − 2x2 + x3 + x4 =2
3x1 − x2 − 2x3 + x5 =6
x1 , . . . , x5 ≥ 0,
11
x3 = 2 + 2x2
x5 = 10 + 5x2 t ∈ [0, +∞)
x2 = t
————
(d) Ricavata la forma standard
soggetto a
2x1 + x2 − x3 + 3x4 + x5 =8
− x1 + 2x2 − 2x3 + 2x4 + x6 =4
x1 + x3 + x7 = 10
x1 , . . . , x7 ≥ 0,
max x1 + 3x2 − x3
12
soggetto a
2x1 + x2 + x4 =3
x1 + x2 + 3x3 + x5 =6
2x1 + x2 + 3x3 + x6 =8
x1 , . . . , x6 ≥ 0,
soggetto a
− x1 + x2 + x4 =1
2x2 − x3 + x5 =2
x1 + x3 + x6 =1
x1 , . . . , x6 ≥ 0,
soggetto a
max −s1 − s2
soggetto a
1 − 51 12 − 10 1 1 3
0 0
T(B 1 ) = 10 2
0 − 45 52 1
10 −1 10 1
1 9
2
3 1 1 1 1
x1 = − s1 + x2 − x3 + x4
2 10 5 2 10
s2 = 9 − 1 s1 + 4 x2 − 5 x3 − 1 x4 + x5
2 10 5 2 10
9 11 4 5 1
z = − − s1 − x2 + x3 + x4 − x5
2 10 5 2 10
x1 , . . . , x5 , s1 , s2 ≥ 0
soggetto a
soggetto a
T(B 1 ) =
3 3 5 5 7
0 4 1 2 −4 1 4 2
(
x1 = 12 − 34 x2 − 12 x4 + 14 x5 − 14 s1
x6 = 72 − 34 x2 − x3 − 32 x4 + 54 x5 − x6 − 45 s1
z = 0 − s1
x1 , . . . , x5 , s1 ≥ 0
15
1 34 0 12 − 41 0 1
2
T(B 1 ) =
3 3 5 7
0 4 1 2 −4 1 2
(
1 3 1 1
x1 = 2 − 4 x2 − 2 x4 + 4 x5
x6 = 72 − 34 x2 − x3 − 32 x4 + 54 x5
7 13 9 7
z = − + x2 + 5x3 + x4 − x5
2 4 2 4
x1 , . . . , x 5 ≥ 0
1 34 0 12 − 41 0 1
2
T(B 2 ) =
3 3 5 7
0 4 1 2 −4 1 2
(
x1 = 12 − 34 x2 − 12 x4 + 14 x5
x3 = 72 − 34 x2 − 32 x4 + 54 x5 − x6
z = 14 − 21 x2 − 5x6 − 3x4 + 92 x5
x1 , . . . , x 5 ≥ 0
soggetto a
x1 + x2 + 2x3 =3
2x1 + x2 + 3x3 =5
x1 , x2 , x3 ≥ 0.
max −s1 − s2
16
soggetto a
x1 + x2 + 2x3 + s1 =3
2x1 + x2 + 3x3 + s2 =5
x1 , x2 , x3 , s1 , s2 ≥ 0.
Risolvendo il problema di prima fase si trova la base ammissibile B = {x3 , x1 },
e da qui la base ottima B ∗ = {x2 , x1 } (x2 = 1, x1 = 2).
————
(d) Il programma in forma standard è (aggiungendo una variabile di slack x5 ≥
0)
max x1 + x2 + x3
soggetto a
− x1 − 2x2 + x3 + x4 =5
4x2 + x3 + 2x4 =2
3x2 − 2x4 + x5 =6
x1 , . . . , x5 ≥ 0,
ed il relativo problema di prima fase risulta come segue.
max −s1 − s2
soggetto a
− x1 − 2x2 + x3 + x4 + s1 = 5
4x2 + x3 + 2x4 + s2 =2
3x2 − 2x4 + x5 =6
x1 , . . . , x5 , s1 , s2 ≥ 0.
Partendo dalla base B 0 = {s1 , s2 , x5 } (s1 = 5, s2 = 2, x5 = 6) si ottiene quanto
segue (omettiamo – per brevità – di riportare la matrice T (B)).
s1 =5 + x1 + 2x2 − x3 − x4
s2 =2 − 4x2 − x3 − 2x4
x5 =6 − 3x2 + 2x4
z = −3 − x1 − 2x2 − x4 − 2s2
x1 , . . . , x5 , s1 , s2 ≥ 0
Il problema di prima fase è stato risolto all’ottimo, con valore di funzione obiet-
tivo non nullo, quindi per il programma lineare iniziale non esiste soluzione
ammissibile.
————
(e) La forma standard del programma è
max 4x1 + 3x2 − x3 + 2x4
soggetto a
− x1 + 2x2 + x3 − x4 − x5 =2
− 2x1 + x2 − x3 + 5x4 − x6 =3
x1 , . . . , x6 ≥ 0.
Dal problema di prima fase si ottiene la base ammissibile B = {x2 , x4 }, e suc-
cessivamente, applicando il simplesso alla riformulazione del programma iniziale
rispetto a B, si verifica che questo è illimitato.
————
(f ) Non esiste soluzione ammissibile.
Soluzione Esercizio 1.4. ————————————————————–
(a) Dalla riformulazione rispetto alla base finale {x4 , x2 } si hanno le relazioni
x4 = 6 −2x5 +8x1 −4x3 ,
x2 = 1 −x5 −2x1 −x3 .
Utilizzando queste relazioni per eliminare le variabili in base dall’obiettivo z =
7x1 + x2 + 4x3 si riformula quest’ultimo come
max z= 1 −x5 +5x1 −x3 ,
dove il costo ridotto r1 > 0 indica che la base {x2 , x4 } non è ottima.
————
(b) Tenendo presente che min 4x1 + 5x2 − x3 equivale a max −4x1 − 5x2 + x3
nella forma standard, riformulando rispetto alla base finale {x3 , x5 } si ottiene
(
x3 =2 − x1 + 2x2 − x4
x5 =10 − 5x1 + 5x2 − 2x4
z = 2 − 5x1 − 3x2 − x4
x1 , . . . , x 5 ≥ 0
18
————
(b) Analogamente, si ha
(
x3 = 2 − x1 + 2x2 − x4
1 1 −2 1 1 0 2
T(B ) =
5 −5 0 2 1 10 x5 = 10 − 5x1 + 5x2 − 2x4
z = 6 − 2x1 + 4x2 − 3x4
x1 , . . . , x 5 ≥ 0
————
4
− 16
(c) A−1
B =
3 .
− 13 1
6
1 1
3 0 3
(d) A−1
B =
− 2
3 1 4
3 .
0 0 1
1 0 0
(e) A−1
B = −1 1 0.
−1 0 1
19
1 0 0
(f ) A−1
B = −2 1 1.
0 0 1