Il metodo del simplesso
I condizione sufficiente di ottimalit` a
I spostamento su una base adiacente
rif. Fi 3.2;
Ricapitolando
Sin qui abbiamo un algoritmo enumerativo applicabile quando P ` e un politopo, che calcola una soluzione ottima in al pi` u
n
m
= m!(n−m)! n! passi enumerando le sba.
Vogliamo migliorarlo mediante:
I un criterio di arresto che riconosca una sba ottima
I uno spostamento da una sba ad un’altra migliorativa
I l’estensione al caso generale
Valore di una soluzione
Rappresentiamo il sistema Ax = b rispetto ad una base ammissibile B:
x B = B −1 b − B −1 Fx F
ricaviamo l’espressione del costo:
c T x = [c T B , c T F ]
x B x F
= [c T B , c T F ]
B −1 b − B −1 Fx F x F
cio` e
c T x = c T B B −1 b + (c T F − c T B B −1 F)x F = cost + ¯ cx
Costi ridotti
Definizione Il vettore
¯
c T = c T − c T B B −1 A = [c T B − c T B B −1 B, c T F − c T B B −1 F] =
= [0, c T F − c T B B −1 F]
si dice vettore dei costi ridotti rispetto alla base B
Possiamo dimostrare un risultato che ci permette di stabilire
l’ottimalit` a di una base: Dato un problema in forma standard
{min c T x : x ∈ P }, con P = {x ∈ R n : Ax = b, x ≥ 0} vale il
seguente
Condizione di ottimalit` a
Teorema
Sia x ∗ una sba associata alla base B. Se ¯ c T = c T − c T B B −1 A ≥ 0 allora x ∗ ` e una soluzione ottima
Dimostrazione
Il costo di una soluzione x ∈ P ` e c T x = c T B B −1 b + ¯ c T x essendo per ipotesi ¯ c ≥ 0 risulta
c T x ≥ c T B B −1 b per ogni x ≥ 0, cio` e per ogni x ∈ P ma
c T B B −1 b = [c T B , c T F ] h B
−1b 0
i
= c T x ∗
Ottimalit` a e degenerazione
la condizione diventa anche necessaria nel caso non degenere:
Teorema
Sia x ∗ una sba associata alla base B, con B non degenere. Allora:
I se ¯ c ≥ 0 allora x ∗ ` e ottima
I se x ∗ ` e ottima allora ¯ c ≥ 0
Al contrario, nel caso degenere esiste la possibilit` a che una sba sia
ottima ma qualche variabile (fuori base) abbia costo ridotto
negativo
Esempio (cont.)
− min −5x 1 − 4x 2 x 1 + 3x 2 + x 3 = 4 4x 1 + x 2 + x 4 = 3 x 1 , x 2 , x 3 , x 4 ≥0
x1 = 0
x3 = 0
x4 = 0 A
B
x1 = 0
x2 = 0
x4 = 0
C D