In this paper, we propose a two-dimensional shelf space allocation model. The second dimension stems from the height of the shelf. This results in an integer nonlinear programming model with a complex form of objective function. We propose a multiple neighborhood approach which is a hybridization of a simulated annealing algorithm with a hyper-heuristic learning mechanism. Experiments based on empirical data from both real-world and artificial instances show that the shelf space utilization and the resulting sales can be greatly improved when compared with a gradient method. Sensitivity analysis on the input parameters and the shelf space show the benefits of the proposed algorithm both in sales and in robustness.