The three-dimensional container loading problem