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
Esercizio 1:
Applicare l'algoritmo primale-duale relativo al Node-Cover per trovare la soluzione 2-approssimata del problema. Individuare pertanto la sequenza di voli che garantisca il minimo costo.
Sono dati i seguenti pairings ammissibili:
- Berlino - Amsterdam - Atene {1, 2, 3}
- Roma - Budapest {4, 5}
- Roma - Amsterdam - Helsinki {4, 2, 6}
- Helsinki - Londra {6, 7}
- Berlino - Londra {1, 7}
- Atene - Budapest {3, 5}
Abbiamo I = {F1, F2, ..., F7} ∀ servizio h = 1, .., 7. Fn ⊆ J sono insiemi che contengono lo stesso servizio h J = {1, .., 6} pairings ammissibili
Svolgimento:
- Determino gli Fn:
- F1 = {1, 5}
- F2 = {1, 4, 3}
- F3 = {1, 6}
- F4 = {2, 3}
- F5 = {2, 6}
- F6 = {3, 4}
- F7 = {4, 5}
- T ⊆ J è un cover (⇔) |Fi ∩ T| ≥ 1 ∀ Fi ∈ I
Nodi := pairings ammissibili
Archi := Fi
Vogliamo che ogni arco sia coperto
- Vogliamo trovare il cammino a costo minimo
C = [1 1 1 1]
- Definisco primale e duale
Primale
min CT u
- Σ ue ≥ 1 ; e ∈ F
- ue ≥ 0
Dual
max 1T y
- Σ yf ≤ ce; e ∈ J
- yf ≥ 0; f ∈ I
+ yF0 + yF7
min u1 + u2 + u3 + u4 + u5 + u6
- yF1 + yF2 + yF3 ≤ 1
- yF4 + yF5 ≤ 1
F1 u1 + u5 ≥ 1
u1, ..., u6 ≥ 0
- Passo ϕ: Scelgo una soluzione iniziale
y̅ = 0; J̅ = ∅; T̅ = ∅
- Passo 1: Scelgo una F̅; F̅ = F2 t.c. non interseca J̅
F̅ = F2 = {1, 3} ∧ J̅ = ∅
Aggiorno ỹF̅: ỹF̅ = ỹF2 + min{ce - Σ y̅F̅}
= 0 + min {1, 1} = 1
Scrivo i problemi:
Primal
min CTu
Δne ≥ 1 Fe ∈ I ue ≥ 0 e ∈ J
- min u1 + u2 + u3 + u4 + u5 + u6
- F1 u1 + u5 ≥ 1
- F2 u2 + u3 ≥ 1
- F3 u1 + u3 ≥ 1
- F4 u3 + u4 ≥ 1
- F5 u1 + u6 ≥ 1
- F6 u2 + u6 ≥ 1
- F7 u4 + u5 ≥ 1
- u1, ..., u6 ≥ 0
Dual
max ΔTy
Δyf ≤ ce, ee ∈ J yf ≥ 0 Fe ∈ I
- max y1f1 + y2 + y1f3 + y1f4 + y1f5 + y1f6 + y1f7
- 1 yf1 + yf3 + yf5 ≤ 1
- 2 yf2 + yf6 ≤ 1
- 3 yf2 + y3f4 ≤ 1
- 4 y4 + y7 ≤ 1
- 5 y1 + y7 ≤ 1
- 6 yf5 + yf6 ≤ 1
- Paso Φ: Scelgo F̅ + c. |F̅ ∧ J̅⁻| = Φ ∅ Fe ∈ I J̅ = Φ, T = Φ, ϓ̅ = Φ|I+1
- Paso 1: Scelgo F̅ = F1 = {1, 5}
- infatti |F̅1 ∧ J̅⁻| = Φ⁻
- → Aggiungo ϓ̅f = ϓ̅f1 = ϓ̅f1 + min{(ee - ∑ yf), fe ∈ F, F: fe ∉ F̅}
- = 0 + min{1 - yf1 - yf3 - yf5, 1 - yf1 - yF7} = 0 + min{1, 1} = 1
- → Aggiungo J̅⁻ = J̅c ∪ {1, 5} = {1, 5}
- → Aggiungo yf4 = 1
- → Aggiungo T = J̅⁻
Esercizio 6: Network Loading
Se il vettore:
12 0 21 0 23 0 32 1 31 0è ottimo per il problema "cose", e
la domanda è data dal vettore:
z = 12 1 21 0 23 3 32 0 31 3cosa risponde l’oracolo di separazione?
Svolgimento:
- Definiamo il Problema di separazione:
- Otteniamo quindi il seguente problema:
XAB + XBA ≤ 1 XBA + XAC + XCB ≤ 2 XCB + XBA + XAC ≤ 2
Separazione di vettori {0,1} da Pc Elimino gli archi con λ̂uv = 0
Cerco un ciclo C, a costo negativo, nel grafo zedotto (Floyd-Warshall)
Se ∃ C : ∑e∈C Re <0 allora il vincolo di Pc ∑u∈C X̂uv ≤ |C| - 1 è violato da X̂ ∈ {0,1}|A| ⇒ ∑ X̂uv = |C|
Se ∄ C, allora X̂ ∈ Pc
PASSO 5: Θ4 = 5 Θ4 = 1/16
- CALCOLO L(Ĝ) = min{[L(Ĝ)δ] = L-2}
- NON AGGIORNO L8
- POSSIBILI SUBGRADIENTI
- L(Ĝ4) ≥ {A·B-A·X} = {0}
- SCELGO UN SUBGRADIENTE: s = ϕ
- AGGIORNO
- U5 = U4 + Θ8 1/16 · ϕ = 5/8
- Θ4 = 1/32 = 1/32
STOP UB = 1/2 → SOLUZIONE EURISTICA
ESEMPIO LAGRANGIAN MULTIPLIER PROBLEM:
max {V: V ∈ W(P) + U(T(P) - T, ∀ P ∈ P, u ≥ 0 }
- UT + min {W(P) + U(Z(P)), P∈P} → P* = Path u
PER U FISSATO TROVIAMO IL CAMMINO MINIMO CON PESI (Wij + Uij)
- Per U = 0 → Wij mi aumenta dei tempi di transito → spendo poco ma arrivo in ritardo.
- Per U = -2.1 ho una alternativa migliore perché ho un numero intermedio qualunque.
- Per U = M >> 0 → Wij + Mij ≫ Mij Big M rende trascurabili tutta gli altri numeri.
∀ U ho una DIVERSA ISTANZA del cammino minimo in quanto cambiano solo i pesi.
13)
Scrivere Pc le cui sol. ammissibili sono i vettori di incidenza degli insiemi di archi la cui rimozione disconnette il grafo.
Pc =
- a + b ≤ 1
- a + c ≤ 1
- a + d ≤ 1
- b + d ≤ 1
- b + c ≤ 1
- d + c ≤ 1
- a, b, c, d ≥ 0
14)
Trasforma Pc in set covering
Psc =
- a + b ≥ 1 F₁
- a + c ≥ 1 F₂
- a + d ≥ 1 F₃
- b + d ≥ 1 F₄
- b + c ≥ 1 F₅
- d + c ≥ 1 F₆
- a, ..., d ≥ 0
15)
APPLICA PRIMALE DUALE
PAS_SO Φ_1:
J̅ = Φ, T̅ = Ø, Y̅_f = Ø
1: ∃ F̅ : [F̅ ∧ J̅] = Ø
F̅ = F₄
Y̅_A = Y̅_12 + min(1 - 0, 1 - 0) = 1
J̅ = J̅ ∪ {1, 2, 3} , Tᵀ = J₅
c(J̅) = 4, d = 2
PAS_SO 2:
F̅ = F₇₄
Y̅₇₄ = Y̅₃₄ + min(1, 1) = 1
J̅ = {1, 2, 3, 4}
8) Dimostra il Teorema di Rado-Edmonds
Secondo questo Teorema l'Algoritmo greedy trova una soluzione ottima <=> S è una matroide.
· S è matroide => r2(X) = 2(X)
· Poiché q( S ) ∈ [r2(X), < C(T u) ≤ 1]
C(2X) C(TF)
· Allora rK(C(T u) ≤ 1 allora necessariamente C(Tu) = C(TF)
· Se X non fosse una matroide r2(X)< r2(X)
· allora ∃ B1, B2 ∈ T, tale che B1 = Tu, B2 = TF*
e B1 ∡ F*-allora si avrebbe:
ei ∈ ℓ + ɸ ∉ ei ∈ B1, ɸ∅ ∈ 5 |B2−1|−|B1|
|B1|
ei ∈ 1 ∈ ei ∈ B2
ei ∈ 0 ∈ ei ∉ B2 ⊂ ei
=> C(Tu) = C(BR) |B1|+δ|B1|C|B1+|∏B1|✓|B2|
|B2 ≤ 5|B2|+δ|B1∧B2|− C(B2) = C(TF)|
=> C C(Tu) < C(TF) se S è una matroide.
9) Definire il concetto di ALGORITMO e FORMULAZIONE APPROSSIMATA
ALGORITMO APPROSSIMATO: Un algoritmo si definisce approssimato quando genera una soluzione
α-approssimata ∀ istanza (S,C) di Π.
FORMULAZIONE APPROSSIMATA: Una formulazione si dice approssimata
<=> genera un integral gap
pari ad α per ogni istanza (S,C) di Π.
Procediamo che l' istanza (S,C) è l' insieme delle soluzioni
ammissibili S a capacita C e t.c.
S = {oi, jni | , C ∈ R}U
dove u¯ ∉ {oi, jη} è la sol. ottima di (S,C)
PLO-1 z¯= u¯ miu cT u
w∈S∈{oi, ju}