Discrete OptimizationMixed-integer linear programming and constraint programming formulations for solving resource availability cost problems
Introduction
We deal with the problem of minimizing the resource availability costs in project scheduling. The resource availability cost problem (RACP) is also mentioned in literature as the resource investment problem and can be described as follows. Given a set of non-interruptible activities that require time and renewable resources for their execution, the aim is to schedule these activities in a way that a prescribed project duration is not exceeded, precedence relations between the activities are satisfied, and the costs for providing the resources are minimized. A precedence constraint between two activities i and j allows activity j to start only if activity i is already completed. The arising costs are related to the amount of used resources, i.e., every allocated unit of a resource is available for the whole project. Therefore, the RACP is often used to model construction projects where a time limit is given for the project duration and the aim is to find a schedule that induces the minimal costs for required resources.
Besides the classical RACP we consider two extensions. By considering general temporal constraints between the activities, i.e., minimum and maximum time-lags instead of only precedence constraints, the RACP/max problem is defined. A general temporal constraint between two activities i and j allows activity j to start time units after the start of activity i at the earliest. Recent work in project scheduling consider resource calendars to model breaks in the availability of a resource, e.g., due to weekends or public holidays of staff. Then, for every activity it has to be identified whether it can be interrupted for the duration of a break or not. Within the second extension of the RACP we take general temporal as well as calendar constraints into account. The resulting problem has not been previously treated in literature and we name the problem RACP/max-cal. For all three problems we give mixed-integer linear programming (MILP) as well as constraint programming (CP) models and solve them by using cplex and the lazy clause generation solver chuffed, respectively.
Taking calendar constraints into account seems to be reasonable for resource availability cost problems since practical problems where the costs for providing the resources should be minimized are, e.g., construction projects. Within these projects staff are needed to carry out the activities and therefore calendars, that model e.g., public holidays and weekends of staff members, have to be considered. The first work where calendar constraints were taken into account in project scheduling were published in the 1990s by Zhan (1992) and Franck (1999).
Closely related to the RACP is the resource-constrained project scheduling problem (RCPSP), where the project duration has to be minimized when a resource capacity is given for each resource type (see, e.g., Neumann, Schwindt, & Zimmermann, 2003b, chap. 2). Since the best exact solution approaches for the RCPSP, RCPSP/max (RCPSP with general temporal constraints), and RCPSP/max-cal (RCPSP/max with calendar constraints) are based on lazy clause generation (cf. Schutt, Feydy, Stuckey, Wallace, 2011, Schutt, Feydy, Stuckey, Wallace, 2013b, Kreter, Schutt, Stuckey, 2017), we want to investigate in this paper if this success of lazy clause generation can be achieved for RACP, RACP/max, and RACP/max-cal as well. Besides a comparison to MILP formulations solved by cplex, we compare the results obtained by lazy clause generation to the best known results from literature where possible.
The remainder of this paper is organized as follows: in Section 2 we give a formal description of the RACP, RACP/max, and RACP/max-cal. Section 3 presents literature related to the RACP and RACP/max while in Sections 4 and 5 different MILP formulations and different CP models are given, respectively. Section 6 is devoted to a comprehensive performance study. Finally, conclusions are presented in Section 7.
Section snippets
Problem description
A project is given by a set (n ≥ 1) of interacting activities requiring time and renewable resources for their execution. The set of renewable resources that are needed to carry out the project activities is denoted by . The cost for providing one unit of resource is denoted by ck and Rk is the amount of resource k that has to be provided for executing the project activities. For each activity i ∈ V a processing time is assigned and represents the amount of
Literature review
As mentioned earlier, the RACP is also known as the resource investment problem. Therefore, in some of the following papers the term resource investment problem is used instead of resource availability cost problem. However, we stay with the introduced name.
Only a few authors dealt with exact solution procedures for RACP so far. Möhring (1984) introduced the RACP as the problem of scarce time and presented a branch-and-bound procedure based on partial orders of the activities. In addition,
Mixed-integer linear programming formulations
In this section, we give two different MILP formulations for RACP, RACP/max, and RACP/max-cal, respectively, that are based on time-indexed binary decision variables.
In order to reduce the number of decision variables within the MILP formulations, we determine feasible start times for the activities in a preprocessing step. For RACP and RACP/max the earliest start time ESi and the latest start time LSi for every activity i ∈ V can be computed by the Bellman-Ford algorithm (cf. Ahuja, Magnanti,
Constraint programming models
Lazy clause generation is a powerful hybrid of SAT and finite domain (FD) solving that inherits advantages of both, i.e., high level modeling and specialized propagation algorithms from FD as well as nogood recording and conflict driven search from SAT. For a description of lazy clause generation we refer to Ohrimenko, Stuckey, and Codish (2009). The key factor for the success of lazy clause generation for solving RCPSP and RCPSP/max is the global cumulative propagator described in Schutt (2011)
Performance study
We conducted extensive experiments on an Intel Core i7-3820 CPU with 3.60 gigahertz and 32 gigabytes RAM. We used MiniZinc 2.0.8 (Nethercote et al., 2007) and the lazy clause generation (Ohrimenko et al., 2009) solver chuffed (Chu, 2011) rev 707 to solve the CP models as well as ibm cplex 12.6 to solve the MILP formulations. The global cumulative and cumulative_calendar propagators are implemented in chuffed that is written in C++.
A run time limit of 10 minutes was imposed for every instance
Conclusions
In this paper, the resource availability cost problem (RACP) and two extensions through general temporal constraints (RACP/max) and calendar constraints (RACP/max-cal) are treated. Calendarization is a rising field in project scheduling and the RACP/max-cal is a new problem in that field that has not been previously explored. In order to solve the three problems to optimality we present mixed-integer linear programming (MILP) and constraint programming (CP) formulations. The CP formulations
Acknowledgments
We would like to thank Denise Yamashita and Sávio B. Rodrigues for providing us with their test instances.
References (54)
Multi-mode resource availability cost problem with recruitment and release dates for resources
Applied Mathematical Modelling
(2014)- et al.
Project scheduling with resource constraints: A branch and bound approach
European Journal of Operational Research
(1987) - et al.
A branch-price-and-cut algorithm for multi-mode resource leveling
European Journal of Operational Research
(2015) - et al.
PSPLIB – A project scheduling problem library
European Journal of Operational Research
(1997) - et al.
Models and solution procedures for the resource-constrained project scheduling problem with general temporal constraints and calendars
European Journal of Operational Research
(2016) - et al.
Optimal speedup of Las Vegas algorithms
Information Processing Letters
(1993) - et al.
Order-based neighborhoods for project scheduling with nonregular objective functions
European Journal of Operational Research
(2003) - et al.
Resource levelling for projects with schedule-dependent time windows
European Journal of Operational Research
(1999) - et al.
Procedures for resource leveling and net present value problems in project scheduling with general temporal and resource constraints
European Journal of Operational Research
(2000) - et al.
Solving the resource availability cost problem in project scheduling by path relinking and genetic algorithm
Applied Mathematics and Computation
(2008)