LUGLIO 2019
BRANCH & BOUND KNAPSACK [0,1]
Max (5x1 + 40x2 + 38x3 + 9x4 + x5)
- 17x1 + 5x2 + 13x3 + 3x4 + x5 ≤ 20
- x ∈ {0,1}
B = capacità del knapsack da non superare!
- Il valore nella funzione obiettivo è il profitto
- Il valore nel vincolo è il peso dell'oggetto
PASSO 1
Ordino gli oggetti in base al profitto (P/W), per inserire prima gli oggetti con rapporto maggiore.
- P1: 5/17 = 0,29
- P2: 40/5 = 8
- P3: 38/13 = 2,92
- P4: 9/3 = 3
- P5: 1/1 = 1
Quello appena scritto sarà il pilota usato per il branching
PL0
Risolvo il PL rilassato per iniziare il branching ed inizializzare l'albero.
Individuo l'oggetto critico per fare branching.
- u1 = 5
- u2 = 3
- u3 = 13
- u4 = 1
- u5 = 0
- B = 20 - 5 = 15
- B = 15 - 3 = 12
- B = 12 - 13 (oggetto critico)
x* = (1, 1, 12/13, 0, 0)
z = 40 + 9 + (38 * 12/13) = 84,07
PL1
Pongo a uno l'oggetto u3 come primo vincolo
- u1 = 5
- u2 = 3
- u3 = 13
- u4 = 1
- u5 = 0
B = 7 - 5 = 2
B = 2 - 3 = -1 (oggetto critico)
x* = (1, 2/3, 1, 0, 0)
z = 40 + (2/3 * 9) + 38 = 84
PL2
B = 20 - 5 = 15
B = 15 - 3 = 12
B = 12 - 1 = 11 (critico!)
x* = (1, 1, 0, 1, 11/17)
z = 40 + 9 + 1 + (11/17 * 5) = 53,23
BRANCH & BOUND KNAPSACK [0,1]
Max (5x1 + 40x2 + 38x3 + 9x4 + 1x5)
17x1 + 5x2 + 13x3 + 3x4 + x5 ≤ 20
x ≤ {0,1}
= B
È LA CAPACITÀ DEL KNAPSACK DA NON SUPERARE!
→ il valore nella funzione obiettivo è il profitto→ il valore nel vincolo è il peso dell'oggetto
PASO 1
ORDINO GLI OGGETTI IN BASE AL PROFITTO (P/N) PER INSERIRE PRIMA GLI OGGETTI CON RAPPORTO MAGGIORE.
- P1: 5/17 = 0.29
- P2: 40/5 = 8
- P3: 38/13 = 2.92
- P4: 9/3 = 3
- P5: 1/1 = 1
max (40x1 + 9x2 + 38x3 + 4x4 + 5x5)
45 riscrivo il primo con il 42
42 nuovo 43
43 variabile 41
quello appena scritto sarà il PILDA usare per il branching
PLO
RISOLVO IL PIÙ RILASSATO PER INIZIARE IL BRANCHING ED INIZIALIZZARE L'ALBERO. INDIVIDUO L'OGGETTO CRITICO PER FARE BRANCHING.
- u1 = 5
- u2 = 3
- u3 = 13
- u4 = 6
- u5 = 0
B = 20-5 = 15
B = 15-3 = 12
B = 12-13 OGGETTO CRITICO, ne inserisco 12/13
x* = (1,1,12/13,0,0)
z = 40 + 9 + (38 × 12/13) = 84.07
PL1
PONGO A UNO L'OGGETTO U3 COME PRIMO VINCOLO
- u1 = 5
- u2 = 3
- u3 = 13
- u4 = 6
- u5 = 0
B = 7-5 = 2
B = 2-3 = 1 OGGETTO CRITICO, inserisco 2/3
x* = (1,2/3,1,0,0)
z = 40 + (2/3 × 9) + 38 = 84
PL2
- u1 = 5
- u2 = 3
- u3 = 0
- u4 = 6
- u5 = 17
B = 20-5 = 15
B = 15-3 = 12
B = 12-1 = 11
B = 11-6 = 5 CRITICO!
x* = (1,1,0,1,11/17)
z = 40 + 9 + 1 + (11/17 × 5) = 53.23
ALBERO PARZIALE
PL0x* = (1, 1, 12/13, 0, 0)z = 84,05
PL1x* = (1, 1, 2/3, 1, 0, 0)z = 84u2 = 1u3 = 1
PL2x* = (1, 1, 0)z = 53
PL3x* = (4/5, 1, 1, 0, 0)z = 79
PL4x* = (1, 0, 1, 1, 1/17)z = 79,29
PL5x* = (1, 0, 1, 0, 1)z = 79,29
PL6 INAMMISSIBILE
PL3 FIGLIO DI PL1 PER CRITERIO BEST FIRSTIMPOSTO u2 = 1 OLTRE u3 = 1
- y1 = 5
- y2 = 3
- y3 = 3,6
- y4 = 0
- y5 = 0
CRITICO! 5/4 → 4/5
B = - 7,9 : 3 = 4B = - 20,13 = 7
x* = (4/5, 1, 1, 0, 0)z = (4/5 . 40) + 9 + 38 = 79
PL4 FIGLIO DX DI PL1 CON u2 = 0
- y1 = 5
- y2 = 0
- y3 = 13B = 1CRITICO 1/17
- y4 = 0
- y5 = 0
B
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.
-
Ricerca operativa II - Esercizi
-
Ricerca operativa - esercizi
-
Ricerca operativa - esercizi
-
Ricerca operativa - esercizi