Lagrangean relaxation is a powerful bounding technique that has been applied with success to many NP-hard combinatorial optimization problems. The basic idea is to see the problem as an easy-to-solve problem but complicated by a number of difficult side constraints. The way this approach deals with these complex constraints is to try to absorb them into an objective function which is then solved (exactly) using the Lagrangean heuristics. The three main steps involved in this technique are:
For in depth discussion about this method and the various techniques and heuristics involved, see chapter 6 of [2].