Approximation Algorithms for Bin Packing Problems: A Survey