Gravar-mail: Warehouse design and product assignment and allocation: a mathematical programming model