logoenac
Optimisation Discrete
Solving the Knapsack Problem Sonia Cafieri ENAC
sonia.cafieri@enac.fr
- S. Cafieri (ENAC)
Knapsack Problem 2016-2017 1 / 55 logoenac
Outline
1
Introduction
2
Heuristics for the Knapsack Problem
3
Solving the Continuous Knapsack Problem
4
Exact solution of the KP Branch and Bound algorithms for IP Branch and Bound for the KP Branch and Bound for IP : Remarks
- S. Cafieri (ENAC)
Knapsack Problem 2016-2017 2 / 55 logoenac
Knapsack problem (KP)
max
n
- i=1
xiui s.t.
n
- i=1
xivi ≤ V xi ∈ {0, 1} ∀i V = volume of the knapsack vi = volume of object i ui = value of object i xi = 1 if object i is selected, 0 otherwise
- S. Cafieri (ENAC)
Knapsack Problem 2016-2017 4 / 55 logoenac
Solving the KP
There is no polynomial algorithm known that solves the problem to optimality. There is also no proof that such an algorithm does not exist. How to solve the Knapsack problem? Apply an algorithm with exponential running time to find an optimal solution Enumerate all possible solutions in a smart way to find an optimal solution : branch-and-bound or dynamical programming Apply a polynomial algorithm that constructs a good but possibly non-optimal solution : heuristic approach.
- S. Cafieri (ENAC)
Knapsack Problem 2016-2017 5 / 55