Most existing facility location and network design models assume the facility cost as either a fixed cost term or a linear/concave function of the volume of demand assigned to a facility. In particular, a concave cost function implies decreasing marginal cost and exhibits economies of scale. However, when the assigned demand volume exceeds a certain level, diseconomies of scale may occur due to facility congestions, overuse of resources, increasing operational complexity, and so on, leading to a convex cost function with increasing marginal cost. This paper studies a warehouse–retailer network design problem, which simultaneously optimizes the warehouse locations, the warehouse–retailer assignment, and the multi-echelon inventory replenishment policy to minimize the total cost, including the warehouse location and operating costs, the inventory replenishment cost, and the transportation cost. In this paper, the warehouse operating cost is defined as a general function of the volume of demand assigned to a warehouse, which could be concave first due to economies of scale and then convex due to diseconomies of scale. We formulate this problem as a set-covering model and propose a column generation algorithm to solve its linear relaxation. The pricing problem of the column generation process, although formulated as a nonlinear mixed integer program, has nice structural properties and can be solved efficiently by a branch-and-bound method. To validate the effectiveness and efficiency of the proposed column generation algorithm, we conduct numerical studies based on randomly generated instances. Numerical results also demonstrate the impact of economies and diseconomies of scale on network design decisions and warehouse operating cost.