SARA MATTIA - dis.uniroma1.itsassano/Slides/OCO2_2016/EsercizioCover.pdf · Ottimizzazione...

13
Ottimizzazione Combinatoria 2 formulazione “Cover” del Knapsack SARA MATTIA Università di Roma“La Sapienza” Dipartimento di Informatica e Sistemistica

Transcript of SARA MATTIA - dis.uniroma1.itsassano/Slides/OCO2_2016/EsercizioCover.pdf · Ottimizzazione...

Page 1: SARA MATTIA - dis.uniroma1.itsassano/Slides/OCO2_2016/EsercizioCover.pdf · Ottimizzazione Combinatoria 2 formulazione “Cover” del Knapsack SARA MATTIA Università di Roma“La

Ottimizzazione Combinatoria 2

formulazione “Cover” del Knapsack

SARA MATTIA

Università di Roma“La Sapienza”

Dipartimento di Informatica e Sistemistica

Page 2: SARA MATTIA - dis.uniroma1.itsassano/Slides/OCO2_2016/EsercizioCover.pdf · Ottimizzazione Combinatoria 2 formulazione “Cover” del Knapsack SARA MATTIA Università di Roma“La

Oracolo di Separazione (da max a min)

1)( * uf non esiste nessun cover violato

1)( * uf u* vettore di incidenza di un cover violato

1)( * ug non esiste nessun cover violato

1)( * ug u* vettore di incidenza di un cover violato

𝒇 𝒖∗ = −𝒈 𝒖∗

𝒇 𝒖∗ = 𝒎𝒂𝒙𝒖

𝑖∈𝐽+

𝑥𝑖∗ − 1 𝑢𝑖−

𝑖∈𝐽−

𝑥𝑖∗𝑢𝑖

𝑘∈𝐽+

ത𝑎𝑘𝑢𝑘 +

𝑖∈𝐽−

ത𝑎𝑘𝑢𝑘 ≥ ത𝑏 + 1

𝑢 ∈ 0,1 𝑛

𝒈 𝒖∗ = 𝒎𝒊𝒏𝒖

𝑖∈𝐽−

𝑥𝑖∗𝑢𝑖 −

𝑖∈𝐽+

𝑥𝑖∗ − 1 𝑢𝑖

𝑘∈𝐽+

ത𝑎𝑘𝑢𝑘 +

𝑖∈𝐽−

ത𝑎𝑘𝑢𝑘 ≥ ത𝑏 + 1

𝑢 ∈ 0,1 𝑛

Page 3: SARA MATTIA - dis.uniroma1.itsassano/Slides/OCO2_2016/EsercizioCover.pdf · Ottimizzazione Combinatoria 2 formulazione “Cover” del Knapsack SARA MATTIA Università di Roma“La

Oracolo «knapsack» approssimato

• 𝒖𝟎 soluzione ottima del rilassamento [ 𝒛𝑳𝑷 = 𝑧 𝒖𝟎 ]

• 𝒖+arrotondamento all’intero superiore

della soluzione ottima 𝒖𝟎 del rilassamento

• 𝒖∗ soluzione ottima del problema (0,1)

𝑘∈𝐽+

ത𝑎𝑘𝑢𝑘 +

𝑖∈𝐽−

ത𝑎𝑘𝑢𝑘 ≥ ത𝑏 + 1

𝑢 ∈ 0,1 𝑛

𝒈 𝒖∗ = 𝒎𝒊𝒏𝒖

𝑖∈𝐽−

𝑥𝑖∗𝑢𝑖 −

𝑖∈𝐽+

𝑥𝑖∗ − 1 𝑢𝑖

𝒈 𝒖𝟎

1n > u > 0n

non esiste nessun cover violato𝒈(𝒖𝟎) ≥ 𝟏

𝒖+ vettore di incidenza di un cover violato𝒈 𝒖+ < 𝟏

Come risolverlo? Simplesso?

No, più semplice …

Page 4: SARA MATTIA - dis.uniroma1.itsassano/Slides/OCO2_2016/EsercizioCover.pdf · Ottimizzazione Combinatoria 2 formulazione “Cover” del Knapsack SARA MATTIA Università di Roma“La

Rapporto costo/effetto:

nia

cr

i

ii ,,1 ,

Oracolo «knapsack» approssimato

min𝑢

𝑐1𝑢1 + 𝑐2𝑢2 +⋯+ 𝑐𝑛𝑢𝑛

𝑎1𝑢1 + 𝑎2𝑢2 +⋯+ 𝑎𝑛𝑢𝑛 ≥ 𝑏

0 ≤ 𝑢𝑖 ≤ 1 𝑖 = 1,… , 𝑛

min𝑢

𝟐𝑢1 + 𝟓𝑢2 + 𝟓𝑢3 + 𝟏𝟎𝑢4 + 𝑢5

𝟑𝑢1 + 𝟑𝑢2 + 𝟐𝑢3 + 𝟓𝑢4 + 𝟑𝑢5 ≥ 8

33,031

2510

5,225

66,135

66,032

5

4

3

2

1

r

r

r

r

r

Page 5: SARA MATTIA - dis.uniroma1.itsassano/Slides/OCO2_2016/EsercizioCover.pdf · Ottimizzazione Combinatoria 2 formulazione “Cover” del Knapsack SARA MATTIA Università di Roma“La

Algoritmo Soluzione knapsack “frazionario”

1. Calcola Rapporto costo/effetto ri = ci / ai , i = 1, …. n

2. Costruisci ordinamento = ((1), …, (n)) per rapporti

costo/effetto ri = ci / ai , i = 1, …. N non decrescenti

3. Poni SOMMA := 0 ; k = 1

4. Finchè SOMMA + a(k) ≤ b do

4.1 u(k) := 1

4.2 SOMMA := SOMMA + a(k)

4.3 k := k +1

5. Poni u(k) = (b – SOMMA) / a(k)

)(

)(

)2(

)2(

)1(

)1(

n

n

a

c

a

c

a

c

Page 6: SARA MATTIA - dis.uniroma1.itsassano/Slides/OCO2_2016/EsercizioCover.pdf · Ottimizzazione Combinatoria 2 formulazione “Cover” del Knapsack SARA MATTIA Università di Roma“La

Esempio

5

54321

54321

}1,0{

835233

10552min

x

xxxxx

xxxxx

33,031

2510

5,225

66,135

66,032

5

4

3

2

1

r

r

r

r

r

{ 5,1,2,4,3 }

33,031ˆ

3

4

2

1

5

x

x

x

x

x

• soluzione del rilassamento:

Page 7: SARA MATTIA - dis.uniroma1.itsassano/Slides/OCO2_2016/EsercizioCover.pdf · Ottimizzazione Combinatoria 2 formulazione “Cover” del Knapsack SARA MATTIA Università di Roma“La

Esempio: Pianificazione Investimenti – 3 periodi

5

54321

54321

54321

54321

}1,0{

62233

43322

552332

63352max

x

xxxxx

xxxxx

xxxxx

xxxxx

2,0ˆ

8,0ˆ

5

4

3

2

1

x

x

x

x

x

Verifica primo vincolo }5,4,1{1 J

}3,2{1 J

55

44

33

22

11

1

1

xz

xz

xy

xy

xz

1152332 54321 zzyyz

«knapsack» a coefficienti positivi

0 ≤ 𝑥𝑖 ≤ 1 𝑖 = 1,… , 5

Page 8: SARA MATTIA - dis.uniroma1.itsassano/Slides/OCO2_2016/EsercizioCover.pdf · Ottimizzazione Combinatoria 2 formulazione “Cover” del Knapsack SARA MATTIA Università di Roma“La

Esempio: oracolo «knapsack» approssimato I

1152332 54321 zzyyz

2,0ˆ

8,0ˆ

5

4

3

2

1

x

x

x

x

x

𝑗∈𝐽+

ത𝑎𝑗𝑢𝑗 +

𝑗∈𝐽−

ത𝑎𝑗𝑢𝑗 ≥ ത𝑏 + 1

𝒎𝒊𝒏𝒖

𝑗∈𝐽−

ො𝑥𝑗𝑢𝑗 −

𝑗∈𝐽+

ො𝑥𝑗 − 1 𝑢𝑗

}5,4,1{1 J

}3,2{1 J

5

54321

4321

}1,0{

1252332

8,08,0min

u

uuuuu

uuuu

15 > u > 05

𝑢 ∈ 0,1 𝑛

Page 9: SARA MATTIA - dis.uniroma1.itsassano/Slides/OCO2_2016/EsercizioCover.pdf · Ottimizzazione Combinatoria 2 formulazione “Cover” del Knapsack SARA MATTIA Università di Roma“La

Esempio: oracolo «knapsack» approssimato II

0

4,052

26,0154

33,031

5,021

5

4

3

2

1

r

r

r

r

r

{ 5,3,2,4,1 }

𝒈 𝒖𝟎 = 1 + 0,8 + 0,4 > 𝟏 nessun cover violato

5

54321

4321

}1,0{

1252332

8,08,0min

u

uuuuu

uuuu

15 > u > 05

𝒈 𝒖𝟎 =

𝒖𝟎𝟓𝒖𝟎𝟑𝒖𝟎𝟐𝒖𝟎𝟒𝒖𝟎𝟏

= 𝟏

= 𝟏

= 𝟏

= 𝟏/𝟐

= 𝟎

Page 10: SARA MATTIA - dis.uniroma1.itsassano/Slides/OCO2_2016/EsercizioCover.pdf · Ottimizzazione Combinatoria 2 formulazione “Cover” del Knapsack SARA MATTIA Università di Roma“La

Esempio: Prova con il secondo vincolo

5

54321

54321

54321

54321

}1,0{

62233

43322

552332

63352max

x

xxxxx

xxxxx

xxxxx

xxxxx

}5,4,2,1{2 J

}3{2 JVerifica secondo vincolo

2,0ˆ

8,0ˆ

5

4

3

2

1

x

x

x

x

x

0 ≤ 𝑥𝑖 ≤ 1 𝑖 = 1,… , 5

55

44

33

22

11

1

xz

xz

xy

xz

xz

63322 54321 zzyzz

«knapsack» a coefficienti positivi

Page 11: SARA MATTIA - dis.uniroma1.itsassano/Slides/OCO2_2016/EsercizioCover.pdf · Ottimizzazione Combinatoria 2 formulazione “Cover” del Knapsack SARA MATTIA Università di Roma“La

Esempio: oracolo «knapsack» approssimato I

2,0ˆ

8,0ˆ

5

4

3

2

1

x

x

x

x

x63322 54321 zzyzz

𝑗∈𝐽+

ത𝑎𝑗𝑢𝑗 +

𝑗∈𝐽−

ത𝑎𝑗𝑢𝑗 ≥ ത𝑏 + 1

𝒎𝒊𝒏𝒖

𝑗∈𝐽−

ො𝑥𝑗𝑢𝑗 −

𝑗∈𝐽+

ො𝑥𝑗 − 1 𝑢𝑗

𝑢 ∈ 0,1 𝑛

}5,4,2,1{2 J

}3{2 J

15 > u > 05

5

54321

431

}1,0{

73322

8,08,0min

u

uuuuu

uuu

Page 12: SARA MATTIA - dis.uniroma1.itsassano/Slides/OCO2_2016/EsercizioCover.pdf · Ottimizzazione Combinatoria 2 formulazione “Cover” del Knapsack SARA MATTIA Università di Roma“La

0

26,0154

4,052

0

1

5

4

3

2

1

r

r

r

r

r

{ 2,5,4,3,1 }

15 > u > 05

5

54321

431

}1,0{

73322

8,08,0min

u

uuuuu

uuu

𝒖+𝟐 = 𝟏

𝒖+𝟓 = 𝟏

𝒖+𝟒 = 𝟏

𝒖+𝟑 = 𝟎

𝒖+𝟏 = 𝟎

𝒖+ =

arrotondamento di 𝒖𝟎

Disequazione

cover violata𝒈 𝒖+ = 𝟎, 𝟖 < 𝟏 z2 +z4 +z5 < 2

𝒈 𝒖𝟎 = 𝟎, 𝟖 ∗ 𝟐/𝟑 < 𝟏

Non possiamo concludere che tutti i «cover»

sono soddisfatti, ma 𝒖+ , vettore di

incidenza del cover 𝟐, 𝟒, 𝟓 , soddisfa:

Esempio: oracolo «knapsack» approssimato II

𝒖𝟎 =

soluzione rilassamento

𝒖𝟎𝟐𝒖𝟎𝟓𝒖𝟎𝟒𝒖𝟎𝟑𝒖𝟎𝟏

= 𝟏

= 𝟏

= 𝟐/𝟑

= 𝟎

= 𝟎

Page 13: SARA MATTIA - dis.uniroma1.itsassano/Slides/OCO2_2016/EsercizioCover.pdf · Ottimizzazione Combinatoria 2 formulazione “Cover” del Knapsack SARA MATTIA Università di Roma“La

Aggiungi il «cover» e risolvi nuovamente ….

5

54321

54321

54321

54321

}1,0{

62233

43322

552332

63352max

x

xxxxx

xxxxx

xxxxx

xxxxx

x2 +x4 +x5 < 2

0 ≤ 𝑥𝑖 ≤ 1 𝑖 = 1,… , 5

Aggiungi il «cover» e risolvi nuovamente ….

Se il cover violato fosse stato 𝟑, 𝟒, 𝟓 avremmo avuto:

𝒚𝟑 + 𝒛𝟒 + 𝒛𝟓 ≤ 𝟐 (𝟏 − 𝒙𝟑) + 𝒙𝟒 + 𝒙𝟓 ≤ 𝟐

−𝒙𝟑 + 𝒙𝟒 + 𝒙𝟓 ≤ 𝟏