Joint Replenishment and Fulfillment Decisions for Multi-Warehouse Inventory Systems