Warehouse design and planning is a great challenge in the field of Supply Chain Management. In this paper we discuss an optimisation model aiming to support some warehouse management decisions. In particular a mixed-integer programming model (MILP) is presented to determine product assignment and allocation to the functional areas, as well as the size of each area. Our aim is to capture the trade-offs among the different warehouse costs in order to achieve global optimal design satisfying throughput requirements