The production routing problem (PRP) arises in the context where a manufacturing facility manages its production schedule, the delivery of goods to customers by a fleet of vehicles, and the inventory levels both at the plant and at the customers. The presence of uncertainty often complicates the planning process. In particular, production and distribution costs may significantly increase if demand uncertainty is ignored in the planning phase. Nevertheless, only a few studies have considered demand uncertainty in the PRP. In this article, we propose a two-stage stochastic programming approach for a one-to-many PRP with a single product and demand uncertainty. Unlike previous studies in the literature, we consider the case where routing decisions are made in the second stage after customer demands become known. This offers more flexibility, which can decrease transportation costs by preventing unnecessary customer visits. In addition to the static–dynamic case, in which setup decisions are made first and production quantities are decided in the second stage, we also consider the static–static setting where both sets of decisions must be made prior to the demand realization. A progressive hedging algorithm combined with a matheuristic is developed to solve the problem. The role of the progressive hedging algorithm is to decompose the stochastic problem into more tractable scenario-specific subproblems and lead the first-stage variables towards convergence by modifying their Lagrangean multipliers. However, solving the subproblems remains challenging since they include routing decisions, and we thus propose a matheuristic to exploit the structural characteristics of the subproblems. First, a Traveling Salesman Problem (TSP) is solved to find the optimal tour for all customers regardless of demand and capacity. Utilizing the sequence obtained from the TSP, we then solve a restricted PRP while taking into account the other constraints of the original problem. Finally, for each period and scenario, a vehicle routing problem is solved to improve the quality of the solutions. Computational experiments are conducted to analyze the algorithm’s efficiency and to assess the benefits that can be achieved by handling routing in the second stage.
Read full abstract