Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PL in forma standard
Geometricamente:
vertici adiacenti
cammino lungo gli spigoli
del poliedro delle soluzioni
ammissibili fino a un
vertice ottimo
Costi ridotti
min{ cTx : Ax = b, x 0 }
Dati un PL
(cTB
cTN)
-1b B-1Nx
xB
B
T
T
N
= (c B c N)
xN
xN
soluzione di base
ammissibile
xB = B-1b, xN = 0
espressa in funzione
solo delle variabili
fuori base
cTN
costi ridotti
Def.:
cTN
= 0T
Test di ottimalit
Dato un PL di min (max) e una base ammissibile B, se
tutti i costi ridotti (delle variabili fuori base) sono non
negativi (non positivi) la soluzione di base ammissibile
xB = B-1b 0, xN = 0 di costo cTB B-1b ottima.
Infatti cT 0T implica
cTx = cTB B-1b + cTN xN cTB B-1b
x 0, A x = b
Forma canonica
Ad ogni iterazione bisogna porre il sistema
n
aij x j = bi
i = 1,..., m
j =1
in forma canonica
xi +
BxB + NxN = b
aij xj = bi
j = m +1
i = 1,..., m
I xB + N xN = b
10
Operazione di pivoting
1. Scegliere un coefficiente ars 0 (il pivot)
2. Dividere per ars la r-esima riga
3. Per ogni riga i r, sottrarre la r-esima riga
moltiplicata per ais
NB: Stesse operazioni (che lasciano invariato
linsieme delle soluzioni) usate nel metodo di
eliminazione di Gauss per risolvere i sistemi di
equazioni lineari.
E. Amaldi -- Fondamenti di R. O. -- Politecnico di Milano
11
min z = x1 + x2 + x3
Esempio:
x1 + 2x2 + x3 x4
+ x5
4x2 x3
2x1
+3x3 + x4
xi 0
b
pivot
A
r 1 2 1 -1 0
0 4 -1 0 1
2 0 3 1 0
3
2
5
-2
2
0
0
1
1
0
0
1
0
0
-3
3
-
0
3/2
-
2
1
-
3
=3
=2
=5
i = 1,,5
0
1
0
0
1
0
3/2
-4
5
1
5/2
12
13
scelta colonna
s pivot
14
altrimenti
nessun limite!
a caso
15
z = cTx
Ax = b
Tableau iniziale:
m righe
cT
funz. obiettivo
termini noti
E. Amaldi -- Fondamenti di R. O. -- Politecnico di Milano
16
cTB
cTN
-1
0 = cTx z
xB[1]
xB[m]
-z0
b
00
I
cTN
N
variabili in base
E. Amaldi -- Fondamenti di R. O. -- Politecnico di Milano
17
Esempio:
min
z = - x1 - x2
6x1 + 4x2 +x3
= 24
+ x4 = 6
3x1 2x2
xi 0
i =1,, 4
x1
-z 0 -1
x3 24 6
r x4 6 3
x2
-1
4
-2
x3
0
1
0
x4
0
0
1
I2x2
Pivot su 3 equivale a
ricavare x1 dalla riga
pivot e sostituirla nelle
rimanenti righe
base
pivot
x1 entra nella base e x4 esce dalla base
E. Amaldi -- Fondamenti di R. O. -- Politecnico di Milano
18
costi ridotti
base
x1
x1
6
0
3
1
con z = -2
E. Amaldi -- Fondamenti di R. O. -- Politecnico di Milano
19
x2
x3
x4
-z 2 0 -5/3 0 1/3
r x3 12 0 8 1 -2
x1 2 1 -2/3 0 1/3
x1
-z 6
x2 6 3/2
x4 18 6
x2
0
1
0
x3
x4
0
0
1
x1
-z 9/2 0
x2 3/2 0
x1 3 1
x2 x3
x4
0 5/24 -1/12
1 1/8 -1/4
0 1/12 1/6 r
s
Tutti i costi rodotti 0
ottimo:=false;
THEN
illimitato := true;
costi ridotti
a [i,0]
a [i, s]
/* aggiornamento tableau */
Procedura pivot(r,s)?
END-IF
END
21
Degenerazione e convergenza
Def. Una soluzione di base ammissibile x degenere se
contiene almeno una variabile di base = 0.
x con pi di n-m zeri corrisponde a pi basi distinte!
Stesso vertice:
22
23
24
25
min z = x1
una sottomatrice
I2x2 di A!
Sia (P)
+x3
x1 + 2x2
5 x1 + 2x2 + x4 = 5
x2 +2x3 = 6
x1, x2, x3 0
min z = cTx
Ax = b
x0
x4 0
Ipotesi: b 0
26
min v = yi
(PA)
i =1
Ax+Iy=b
x 0, y 0
27
28
min
Esempio:
(P)
min
(PA)
v = y1+ y2
x2+ 4x3+ y1 = 2
z = x1+ x2+10 x3
x2 + 4x3 = 2
-2x1 + x2 - 6x3 = 2
x1, x2, x3 0
-2x1+ x2 - 6x3+ y2 = 2
x1, x2, x3 , y1, y2 0
Mettere v = y1+y2 in forma
canonica sostituendo le
espressioni di y1, y2 in
funzione di x1, x2 e x3
x1 x2 x3 y1 y2
-v -4 2 -2 2 0 0
y1 2 0 1 4 1 0
y2 2 -2 1 -6 0 1
29
x1 x2 x3 y1 y2
-v -4 2 -2 2 0 0
y1 2 0 1 4 1 0
y2 2 -2 1 -6 0 1
-v
x2
y2
0
2
0
x1 x2 x3 y1
2 0 10 2
0 1 4 1
-2 0 -10 -1
y2
0
0
1
ottimo v* = 0
30
base ottima
equivalente
-v
x2
0
2
x1
x1 x2 x3
0 0 0
0 1 4
1
y1
1
1
y2
1
0
trasferito la colonna 0
1
di I nella zona delle
variabili originali
31
forma canonica
z = x1+x2+10 x3
Sostituendo:
x2 = 2 - 4x3
x1 =
-z
x2
-2
2
x1
0
0
x1
-5x3
x2
0
1
x3
1
4
z = 2 + x3
32