Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Simplesso
Trattiamo problemi di PL della forma:
min cTx
Ax = b
x ≥ 0
e possiamo ricondurre ogni problema nella sua forma standard:
min 3x1 - 2x1 + 4x3
Sx + x2 - 2x3 + xu = S
x1 + x2 + 2x3 = 7
x ≥ 0
xu ≥ 0
dove ad ogni punto ammissibile del problema iniziale, faccio corrispondere il punto ammiss.
x̅(x1, x2, x3, S-(Sx1+x2-2x3))T dove xi (i=1...3)
e' la coordinata i-esima del punto ammiss.
del primo problema x̅:
xu = S-(Sx1+x2-2x3) ≥ 0 corrisp. biumu
Dove xu e' la variabile di slack
Notiamo che:
f(x̅) = g(x̅)
Pg = ∅ <=> Pe = ∅
g il. inf <=> f il. inf
x̅ sol ottima => x̅ soluz. ott
Osserva che ho un numero di variabili di slack e di surplus è pari al numero di disuguaglianze:
min 3x1 - 2x2 + u x3 5x1 + x2 - 2x3 ≤ 5 x1 + x2 + 2x3 ≥ 7 x ≥ 0 min 3x1 - 2x2 + u x3 5x1 + x2 - 2x3 + Xu = 5 x1 + x2 + 2x3 - Xs = 7 x ≥ 0 Xu, Xs ≥ 0Se invece avessi un caso in cui x1 ≤ 0 introdico una nuova variabile x*1= - X1:
min 3x1 - 2x2 + u x3 5x1 + x2 - 2x3 ≤ 5 x1 + x2 + 2x3 ≥ 7 x1, x3 ≥ 0 x1 ≤ 0 min -3x*1 - 2x2+ u x3 -5x*1 + x2 - 2x3 = 5 -x*1 + x2 + 2x3 - xs = 7 x ≥ 0 x*1 ≥ 0Se invece una variabile xi è libera posso esprimere come differenza di due numeri positivi xi = x+i - x-i con x+i,x-i ≥ 0 :
min 3x1 - 2x2 + u x3 5x1 + x2 - 2x3 = 5 x1 + x2 + 2x3 = 7 x1 ≥ 0 x2 ≥ 0 min 3x1 - 2x2 + u (x+3- x-3) 5x1 + x2 - 2(x+3- x-3) = 5 x1 + x2 + 2(x+3- x-3)=7 x ≥ 0 x+3,x-3 ≥ 0Nota che ora la corrispondenta non è bihumuca ma a voi interessa da destra a sinistra
Semplifichiamo la matrice dei vincoli attivi, notando che le righe l e m+1 sono opposte:
[ a11 ... a1r a1r+1 ... a1n ] [ : ... : : ... : ] * [ am1 ... amr amr+1 ... amn ] [ 0 ... 0 1 ... 0 ] [ 0 ... 0 0 1 ] -> L.I.* se ho tutti i vincoli linearmente indip.,
allora vale la definizione:
x ammissibile è vertice
⇐>
le colonne della matrice A relative alle variabili positive sono linearmente indip.
Nota: se ho m vincoli e l variabili positive
la matrice delle colonne dei vincoli attivi per x è mxl con l>m allora
x non è sicuramente un vertice
=>
un vertice ha al più m variabili positive
Es
min -3x1 + 5x2 - x3 + xu
x1 + x2 + x3 + xu ≤ 1
-5x1 -2x2 + x3 ≥ u
6x1 + x2 + x3 - xu = -1
5xu + 2x3 ≤ 8
x1 ≤ 0
x3 ≥ 0
xu ≥ 0
Introduco x'1 = -x1, due variabili di slack e una di surplus e x'2 = x1-x2 con x'2, x'2 ≥ 0:
min 3x'1 + 5(x'2 - x'2) - x3 + xu
- x'1 + (x'1 - x'2) + x3 + xu + xs = 1
5x1 - 2((x'1 - x'2) + x3 - x6 = u
-6x1 + (x'1 - x'2) + x3 - xu = -4
5(x'1 - x'2) + 2x3 + x3 = 8
x'1 ≥ 0
x'2 ≥ 0
x1 ≥ 0
xu ≥ 0
x3 ≥ 0
x6 ≥ 0
x2 ≥ 0
definizie il sistema
A x = (B; N) (XB) (Xn) = (B Xe + N Xn = b)
che ha soluzione
x = ((B-1b ; 0))T
esempio. Sempre sul sistema di prima
→ 2(XA) + -2(Xu = 3) 1 1 = 22 (XB) = 1 2
ha soluzione x = (1,1,0,0)
→ 1(Xu) + 2(XB = 3) 2 1 = 22 (Xu) = 1 2
ha soluzione x = (0,0,0,1)
Def Una soluzione di base è ammissibile nel poliedro
A x = b, x ≥ 0
se (B-1b ≥ 0)
Teorema
x̅ è un vertice
↓ ↑
x̅ è una soluzione di base ammissibile (SBA)
Dim : meglio che la vedi sul libro!
1° Test: Ottimalità
Ho la base che mi ha permesso di arrivare a
min cBTB-1b + γTxN
con γ = cNT - cBTB-1N
e il vertice alla base corrente è:
x̄ =
( B-1b )
( 0 )
Il valore di x̄ è nel problema ridotto:
frid(x̄) = cBTB-1b
- se γ ≥ 0, allora frid(x̄) è valore ottimo;
- se γ < 0, allora potrebbe esistere un'altra x̄∈P soluzione ottima per cui frid(x̄) < frid(x̄).
es
min xA + 2x2 + x3 + x4 + x5 + x6
x1 + 2x2 + 3x3 + xA = 3
2xA - x2 - 5x3 + x5 = 2
y4 + 2x2 - x3 + x6 = 1
x ≥ 0
Con base iniziale ammissibile B = {1,3,4}:
B = (
1 3 1
2 -5 0
1 -1 0
)
B-1 = 1/3 (
0 -5 1
0 -1 2
3 1 -1
)
γT = cNT - cBTB-1N = (10/3 -1/3 7/3)
con soluzione di base associato xB = B-1b
xB = (1, 0, 0, 2, 0, 0)
Il valore nel problema ridotto e'
CBB-1b + yjp̅
Posso scegliere un p̅ fino a che non incontro un altro vincolo dato da Πxs ≤ B-1b:
Per rimanere ammissibile devo prendere il piu' grande p̅ tra i πij ≤ (B-1b)j con πij > 0:
p̅ = minj|πij>0 (B-1b)j / (Πij)
es
- 2p ≤ 1
- 3p ≤ 2 → p ≤ 1/3 => scelgo p̅ = 2/3 per restare base
- a p ≤ 3 → p ≤ 3/a ammiss. e per stare sul vin. accanto (mi sto spost.)
Considero dunque nel problema ridotto il punto (0...0,p̅,0...0) che nel problema iniziale e'
(B-1b-Πip̅, 0...0, p̅, 0...0)T
Questa e' una selezione di base con un cambiam. dove entra l'i-esima (che ha yi < 0, la dimin. p piu' velocemente) ed esce la j-esima (quella che soddisfa p̅ = min...)