We consider a self-storage warehouse, facing storage orders for homogeneous or heterogeneous stor-
age units over a certain time horizon. The warehouse operations manager needs to decide which stor-
age orders to accept and schedule them across different storage units to maximize revenue. We model
warehouse operations as scheduling n independent multiprocessor tasks with given start and end times,
with an objective to maximize revenue. With operational constraints like the maximal upscaling level,
precedence order constraints, and maximal idle time, the established mixed-integer program cannot
be efficiently solved by commercial softwares. We therefore propose a column generation approach
and a branch-and-price method to find an optimal schedule. Computational experiments show that,
compared with current methods in self-storage warehouses, our method can significantly increase the
revenue.