Teoria LP: Forma standard
Vincoli di uguaglianza
Condizioni di non negatività sulle variabili. Funzione obiettivo di minimo. Se vogliamo portare il problema in forma standard:
- Se ho vincolo di >, tolgo una var. di scarto
- Se ho vincolo di ≤, aggiungo una var. di surplus
- Se non ho vincolo di ≥ sulle var., lo impongo
Forma canonica
Se voglio passare dalla F.S. alla canonica:
- Ax = b ⇒ Ax ≥ b ⇒ Ax > b ⇒ x ≥ 0
Definizioni
Soluzione: x ∈ Rm è soluzione se x verifica tutti i vincoli.
Soluzione ammissibile: x ∈ Rm è soluzione ammissibile se x verifica.
Soluzione ottima: x ∈ Rm è soluzione ottima se il costo di una.
Soluzione di base
Hp. Tengo (A): m = k = m Det (AB) ≠ 0 AB è quindi matrice di base.
Teoria LP: Forma standard (ripetizione)
Vincoli di uguaglianza. Condizioni di non negatività sulle variabili. Funzione obiettivo di minimo. Se vogliamo portare il problema in forma standard:
- Se ho vincolo di >=, tolgo una var. di slack -> -s = -
- Se ho vincolo di +s = -
- Se non ho vincolo di >= sulle var., lo impongo es. x1 = x1+ + x1-, x+, x- >= 0
Forma canonica (ripetizione)
Se voglio passare dalla F.S. alla canonica:
- min cX
- Ax = b
- Ax >= b
- X >= 0
Definizioni di soluzione
Definizione soluzione → X ∈ Rm è soluzione se X ∈ Tc verifica i vincoli Ax = b.
Soluzione ammissibile → X ∈ Rm = soluzione ammissibile se X ∈ Tc verifica Ax = b X ≥ 0.
Soluzione ottima → X ∈ Rm = soluzione ottima se il costo di una qualsiasi soluzione X è ∃ ∑yⱼAᵢ=0p⊂[0,m]∑x̄ᵢ+ εψᵢ = b Ψ (x̄ᵢ + εyᵢ <= x̄ᵢ/ᵢ) ⊆ R+ Amm.
Dimostrazioni e casi
Dim 21 ∃ ℤ t.c. A = b x ≥ 0 ℝ CASO 1 Vettori L.I. Si opera come nella dim. dell'ammissibilità.
CASO 2 Vettori L.D. A1... Ap Quello che abbiamo fatto per ammissibilità era: = + ℤ soluzione ↔ ∀ ∈ [ε, ℝ] Ammissibile. Per l’ottimalità occorre studiare il costo di una nuova soluzione: = rispetto alla vecchia. Questo differenzio anche con costo. ct( + ) = ct + ct → ct Conclusione: poiché ottimamo dove .. c = 0 e vecchio s.e. Se ct t = (-); il che sarebbe un assurdo poiché è già se ottimo. Se ct 0 e quindi otterrei il costo ct = -; il che è di nuovo un assurdo Affermando quindi che ct sono L.I., e dunque il loro prodotto scalare farà zero ct = 0 Quindi → ct( + ) = ct
Geometria della S.L.
Def - Sottospazio - ℜ è un qualunque S ⊆ ℂ siamo chiuso rispetto a Somma vettoriale Prodotto vettore scalare S = { x(y) t.c. A℧ = 0 } Dimensione sotto spazio → coincide con il max num. di vettori L.I. Contenuti in S. THM - da S ⇔ { ∈ ℜm t.c. A℧ = 0 } → dim(S) = m - rango(A) Sottospazio affine → ottenuta per traslazione di un sottospazio S = { ∈ ℜm t.c. A℧ - b } DIM. sottospazio affine → coincide con dim del sottospazio Iperpiano -> È un sottospazio affine di dimensione m-1 H = {x ∈ ℝm T.C. αT x = β}αT (x̅ + εe) = αT x̅ + ε αT x= β NORMA > 0 Poliedro = intersezione di un numero finito di semispazi affini È una regione convessa Disequazione valida: αT x ≤ β - D.V. per poliedro P quando P ⊆ { x ∈ ℝm : αT x ≤ β}
Vertice
Consideriamo un poliedro P = { x | A x ≤ b} Dato x̅ ∈ P. Ã = vincoli T.C. Ã x̃ = b. Se il rango (Ã) = m, allora x̃ è vertice. Ogni soluzione di base è un vertice del poliedro. Non è vero l’inverso se abbiamo la degenerazione questa corrispondenza non è bionivoca.
Simplex
Il simplesso parte da una soluzione che sia di base e ammissibile e mantiene l’ammissibilità. Il simplesso si sposta sui vertici adiacenti. Condizione sufficiente di ottimalità: Il simplesso lavora in forma standard:
- min cT x
- Hp. m ≤ m Ax = b
- Rango (A) = m
- X ≥ 0
Soluzione di base
Dobbiamo costruire una soluzione di base avendo A come matrice posso prendendo AB con AB ∈ ℝm e det (AB) ≠ 0, quindi invertibile, la soluzione associata a tale base è x̅ = Vogliamo valutare il costo di questa soluzione: cT x̅ = = = cT x̅B Dobbiamo confrontarlo con una soluzione ammissi.
Valutazione del costo
[AB AN]
|XB| = |b|
|XN| |0|
ABXB+ANXN=b
XB=|b-ANXB|
XB=AB-1b-AB-1ANXNX=|XB| |XN|
Costo della soluzione X
Quindi possiamo valutare il costo di X e lo confrontarlo con X se ε una sol. ottima.
cⁿx=|cB cN| [AB-1 b-AN XB-1 ]=cBAB-1b-cBAB-1ANXN+cNXN=cⁿXB+[CN-CBAB-1AN]XN=CⁿXBⁿ+CNXN
Costo vecchia
CN coefficienti
Costo Nodo Per le soluzioni ammissibili XN≥0. Se CN>0 il costo della nuova soluzione ≥ di quella vecchia. Quindi se CN>0 possiamo concludere che la X bar ε ε ε ottima
Dizionario del Simplex
ζ=C′X+CNXNXE=Condizione necessaria e sufficiente di ottimalità CN>0 e non degenerazionedirezione di crescita ammissibile è decrescita
Condizione sufficiente di ottimalità
Cosa succede se J ∌ IN (fuori base) t.c. δj<0? La condizione sufficiente di ottimalità ci suggerisce quale variabile sarebbe opportuno ridurre ad aumentare il valore, quindi potenzia rimase per πρµζιωνρωµευνεπιων.
X+δi γjε|XB| |XB| XBXB+ANXN=b|XN||XN|X=AB-1b-AB-1ANXN
Scegliamo un Xj di XNXB(δi)=δjγjε|δεi|X=AB-1b-Sj AB-1ANsubs|δεi|
Nuova soluzione xe
Quindi la nuova xe è soluzione di Ax=b, ma è ammissibile? Devo vedere se tutte le componenti sono yj ≥ 0. Considerando y = AB-1 AN:
x = | XB + δj y | | δj ej |{ δj ≥ 0 Se questo è vero ho XB + δj y ≥ 0 Se yi ≥ 0 ho ammissibilità gratuita XB + δj yi ≥ 0 Se yi < 0 devo scegliere δj ← XBi / yi> 0 per ammissibilità Scelgo il passo δj ≤ mini.tc. yi < 0 XBi / yi Valutando i costi, e quindi max miglioramento:
ct x = ct x + cN XN = ct x + Ĉj δj δj essendo > 0 e essendo contenuto in un range m conviene prendere δj max, per minimizzare i costi Chiaramente se entra in base una nuova variabile, qualche altro esce dalla base ed è quello che ha la condizione del passo più stringente.
Correttezza dell'operazione di pivot
PIVOT
B = { ...l ... (*)} N = { ... (_) ...} La variabile che entra in base garantisce i vettori lini L'operazione di pivot preserva l'indipendenza lineare dei vettori selezionati AB = [A1 | ... | Aω] matrice di base xj va entrante (j ∈ N) xθ v un uscente (j ∈ B) AB = [A1 A++ Aj Aj+ Am]
Vogliamo quindi assicurare che AB-1 è una matrice di base N = Σi Aj+i (in iter simplicesso coincide con Aj) N può essere sommato con Ai se e solo se λi ≠ 0 Condizione sufficiente → se λi = 0 allora AB è una base Dati i moltiplicatori μi l'unica combinazione lineare che annulla mΣi μi ai = 0 e μi ≠ 0 ∀ i.1/m Σi=1i=7Σi=1i=m μi Ai = μi Ai + μi Ai = 0
Σi=1i=m μi xα Aα = 0 μ1*μt*V = λ = 0 Per μi = 0 ∀ i ≠ i* μ2*λ*= 0 0 Pen Hp λi* ≠ 0 -> Quindi μi* = 0 Quando μ sono tutti nulli e λn di Ab formano una base Condizione necessaria 1. Se ab-1 è una base allora λ* ≠ 0...m/en...[1, Â…], = Am... La funzione di pivot quindi parte di una base e arriva a una base...0. δ* < 0 costo diminuisce - δ* = 0 riasciclo ciclo infinito
Algoritmo del Simplesso
- Ab det (Ab) ≠ 0 Xb = Ab-1 b > 0...
- Se čn ≥ 0 allora stop (costo ottimo), altrimenti vado al 4
- Scelgo un indice j ϵ N.C. čj < 0...
- Se y > 0 allora stop (problema illimitato), altrimenti vado al 7
- Determinato x* = arg min Pivot mi v* = ej*
Algoritmo del Simplesso a parole
Calcolo i costi ridotti Control costi ridotti... Sceglio la v. entrante Vedo se problema è illimitato (passo) Sceglio la var uscente Faccio il pivot
Scelta delle variabile entrante
1. Regola anticao di buon (si basa solo sull'indice della variabile)... 1. Scelgo il v.a.r. con costo ridotto più negativoi arg min j∈T con cj - zj || zj < 0 [dove controlliamo tutti] 3) Complesso di scelta del coefficiente di costo ridotto non tra [1, kk negativo] 4) Costruirlo cj* e prendilo il più grande di questo prodotto tra i j per ottenere il max miglioramento
Scelta della variabile uscente
Dobbiamo migliorare la condizione più stringente sul passo: min Xbi/yi < 0 Se avessimo più variabili che ci danno lo stesso passo minimo posso usare la regola anticiclo disegna A+ = min t.c. { min Xbi/yj < 0 }
Simplex 2 Fasi
Applico un simplex a 2 fasi quando per un problema di PL in FS non ho una soluzione di base di partenza min ctx(P) Atx <= d X >= 0 Moltiplico per -1 Posso poi associare delle variabili ausiliarie una per vincolo del problema P, generando così: il problema ausiliario P.A. vado a risolvere il P.A. in cui si minimizza la somma delle variabili ausiliarie min Σx0 di X = 0| var origine | var ausiliarie Essendo un funzione obiettivo che minimizza variabile > 0 non posso ottenere che il problema ausiliario sia illimitato, poiché il valore minimo che posso ottenere è 0. Il simplex lo face a 2 esiti:
- Functione obiettivo P.A. > 0 Per P vuoto per assurdo supponiamo che
∃x' Ax' <= b DM= [1nx'0] assumendo questa soluzione dev P.A.e f.o. sarebbe >= 0 che va contro il testo f.o. > 0 Functione obiettivo f.o. = 0 Per davvero i 3 casi:
A) Sol. di base ottima del problema, non ci sono Xm in base Quindi è soluzione di base ammissibile per P.
-
Teoria di Ricerca operativa
-
Teoria ricerca operativa
-
Appunti di teoria Ricerca Operativa 2
-
Appunti Teoria ed esercizi - Laboratorio di Ricerca operativa