Knapsack Problem
Truck – 10t capacity
Optimum cargo combination:
•Item 1: $5 (3t)
•Item 2: $7 (4t)
•Item 3: $8 (5t)
Knapsack Problem
Output function f(i,w)
Optimum output of a combination of items 1
to i with a cumulated weight of w or less.
•Item 1: x1=$5 ; w1=3t
•Item 2: x2=$7 ; w2=4t
•Item 3: x3=$8 ; w3=5t
Knapsack Problem
Output function f(i,w)
f(i,w)=Max[ xi + f(i,w-wi) ; f(i-1,w) ]
ONE Item i + optimum NO Item i + optimum
combination of weight combination items 1 to
w-wi i-1
Knapsack Problem
Table
1 2 3 4 5 6 7 8 9 10 W
1
2
3
f(i,w)
i
Knapsack Problem
Table
1 2 3 4 5 6 7 8 9 10 W
1 Using only item 1
2
3
i
Knapsack Problem
Table
1 2 3 4 5 6 7 8 9 10 W
1
2 Using only item 1 & 2
3
i
Knapsack Problem
Table
1 2 3 4 5 6 7 8 9 10 W
1
2
3 Using items 1, 2 & 3
i
Knapsack Problem
Table
1 2 3 4 5 6 7 8 9 10 W
1 0 0 5 5 5 10
2
3
0 items n°1 1 items n°1 2 items n°1
w1 = 3 2 w1 = 6
Knapsack Problem
Table
1 2 3 4 5 6 7 8 9 10 w – w2 =
5–4=1
1 0 0 5 5 5 10 10 10 15 15
2 0 0 5 7
3
+ x2 (= 7)
f(i,w)=Max[ xi + f(i,w-wi) ; f(i-1,w) ]
Knapsack Problem
Table
1 2 3 4 5 6 7 8 9 10
1 0 0 5 5 5 10 10 10 15 15
2 0 0 5 7 7
3
+ x2 (= 7)
f(i,w)=Max[ xi + f(i,w-wi) ; f(i-1,w) ]
Knapsack Problem
Table
1 2 3 4 5 6 7 8 9 10 w – w2 =
6–4=2
1 0 0 5 5 5 10 10 10 15 15
2 0 0 5 7 7
3
+ x2 (= 7)
f(i,w)=Max[ xi + f(i,w-wi) ; f(i-1,w) ]
Knapsack Problem
Table
1 2 3 4 5 6 7 8 9 10
1 0 0 5 5 5 10 10 10 15 15
2 0 0 5 7 7 10
3
+ x2 (= 7)
f(i,w)=Max[ xi + f(i,w-wi) ; f(i-1,w) ]
Knapsack Problem
COMPLETED TABLE
1 2 3 4 5 6 7 8 9 10
1 0 0 5 5 5 10 10 10 15 15
2 0 0 5 7 7 10 12 14 15 17
3 0 0 5 7 8 10 12 14 15 17
Knapsack Problem
Path
1 2 3 4 5 6 7 8 9 10
1 0 0 5 5 5 10 10 10 15 15
2 0 0 5 7 7 10 12 14 15 17
3 0 0 5 7 8 10 12 14 15 17
Item 1 Item 1 Item 2
Optimal: 2 x Item 1 + 1 x Item 2