Multi-Project Rough-Cut Capacity Planning by Branch-and-Price Techniques

In this presentation we address the resource-constrained multi-project rough-cut capacity planning (RCCP) problem, which concerns the loading of projects in the order acceptance stage. At the RCCP level, regular and nonregular resource capacity levels are determined, as well as project due dates and other project milestones. So far, only simple heuristics have been proposed for RCCP problems. We propose a generic mixed integer programming formulation that offers a generic modeling framework for modeling various types of RCCP problems. It can handle many technological constraints, such as generic precedence relations, minimal activity durations, resource flexibility, tardiness penalization, alternative routings, etc. Moreover, the model can handle a resource driven loading approach, a time driven loading approach, as well as a simultaneous approach. We propose a branch-andprice based algorithm, which is able to solve considerably large cases to optimality, as well as various advanced heuristics. 1. Problem formulation The resource-constrained multi-project rough-cut capacity planning (RCCP) problem [1] is usually addressed in the order acceptance stage of a project life cycle. At this tactical planning level, RCCP addresses the determination of (non)regular resource capacity levels required to complete projects on time, and furthermore, it addresses the determination of project tardiness due to limited resource capacity. It may also be used to quote reliable project due dates. RCCP determines the detailed resource availability profiles for the underlying planning level, the resource-constrained project scheduling (RCPS). RCCP can detect where capacity availability and tardiness difficulties may occur in RCPS at an early stage, and allocate projects and activities more efficiently, and, if necessary, properly adjust resource capacity levels. As a result, RCCP makes the RCPS easier. In order to achieve maximum consistency between RCCP plans and RCPS plans, some technological constraints have to be taken into account, such as generic precedence relations, minimal activity durations, resource flexibility, tardiness penalization, alternative routings, and so on. The detailed planning techniques that are widely available for RCPS problems (e.g., [3]) are not suitable for RCCP for two reasons. First, the RCPS problem is inflexible with respect to (nonregular) resource capacity levels, which is desirable at the tactical level. Second, the information that is required to perform RCPS is not available at the stage of tactical planning, since detailed engineering has not been performed yet at the stage of RCCP. So far, only heuristics have been proposed for RCCP ([1],[2]). In this research we develop a generic model that can account for many typical technological constraints, as well as various exact and heuristic algorithms to solve this model. 2. A generic mixed integer linear programming model for RCCP For the RCCP model development we introduce the concept of project plans and project schedules. Project plans indicate in which periods the activities are allowed to be performed. Project schedules represent the actual execution of the activities in a project, i.e., they show which (part of the) activities are performed in each period. We propose a mixed integer linear program for RCCP, which uses the project plans as input. The model is generic because many technological constraints can be embedded in the project plans, such as precedence constraints between activities, project release and due dates, activity minimum durations, etc. The model selects one project plan per project, and determines the corresponding project schedules in such a way, that nonregular resource capacity usage, and project tardiness is minimized. By using the project plans as input, the aforementioned technological constraints embedded in the project plans are automatically taken into account in the project schedules. The model allows three approaches to be used: resource driven RCCP, time driven RCCP, and a simultaneous approach. In resource driven RCCP, the resource capacity levels are considered fixed, and project tardiness is allowed. In time driven RCCP, the due dates are considered as deadlines, and the use of nonregular resource capacity is minimized. These approaches allow a trade-off to be made between due date performance on the one hand, and nonregular capacity levels on the other hand. The model thus offers a generic modeling framework for modeling various types of RCCP problems. 3. Exact and heuristic algorithms In the previous section we have argued that technological constraints, such as precedence relations and release and due dates, do not have to be applied to the project schedules by the model, since they are embedded in the project plans. However, since there are exponentially many project plans, an explicit model of a problem of regular size is impossible to formulate and solve. We therefore propose various exact and heuristic solution methods, which are all based on first solving the linear programming (LP) relaxation of this formulation by (implicit) column generation. The corresponding pricing problem comprises the determination of feasible project plans with negative reduced costs. We solve the pricing problem by performing a longest path calculation by a dynamic programming algorithm. The idea of a column generation scheme is that only a small set of variables are required to determine the optimal solution of the LP. It starts from a restricted LP formulation (RLP), which has at least one project plan per project. After each RLP optimization, project plans with negative reduced costs are added to the RLP. The column generation scheme terminates when no project plans with negative reduced costs exist. The optimal solution of the LP is then found. Clearly, if the optimal solution of the linear programming relaxation happens to be integer, we have found an optimal solution for the resource loading problem. Otherwise, we apply a branch-and-price algorithm to determine an optimal solution. We propose various exact and heuristic branching strategies. Furthermore, we propose various approximation techniques that are based on the column generation approach, such as approximation algorithms that proceed by judiciously rounding the linear programming solution to obtain a feasible solution for the original problem. We also propose an improvement heuristic, which tries to improve an existing feasible solution. Especially for large project networks the pricing problem may become hard to solve. We propose several pricing speedup techniques, and alternative algorithms for solving the pricing problem. 4. Computational results For testing and benchmarking of the algorithms for RCCP we use the test set of instances generated by De Boer [1]. De Boer uses a network construction procedure that was developed by Kolisch et al. [5], and which is commonly used for generating RCPSP problems. Computational experiments with the branch-and-bound methods show that RCCP problems for projects of reasonable size can be solved to optimality. For very large problems, the branch-and-bound methods compete with the heuristics from the literature. For RCCP problems with very large projects solving the pricing problem often becomes too computational intensive. As a result, for large RCCP problems the branch-and-bound methods are outperformed by the heuristics from the literature. We note that, from a practical point of view, it is questionable whether it makes sense to solve such large problems to optimality, since information regarding resource availability and project characteristics are usually uncertain in the long term. Solving RCCP problems with a long planning horizon is thus more a mathematical challenge.