Discrete Optimization
Mixed-integer linear programming and constraint programming formulations for solving resource availability cost problems

https://doi.org/10.1016/j.ejor.2017.10.014Get rights and content

Highlights

  • We consider the resource availability cost problem and two extensions.

  • One of the extensions is not treated in literature until now.

  • Mixed-integer linear and constraint programming formulations are presented.

  • All open instances from literature can be solved to proven optimality.

  • We provide new test sets and make them available online.

Abstract

We consider the resource availability cost problem and two extensions through general temporal constraints and calendar constraints. With general temporal constraints minimum and maximum time lags between the activities can be ensured. Calendar constraints are used to model breaks in the availability of a resource, e.g., weekends or public holidays of resource types that equal staff. Especially if long-term and capital-intensive projects are under consideration, resource availability cost problems should be applied because in such projects it is more important to minimize the cost than, e.g., the project duration. We present mixed-integer linear programming (MILP) formulations as well as constraint programming (CP) models for the three problems. In a performance study we compare the results of the MILP formulations solved by cplex and the CP models solved by the lazy clause generation solver chuffed on benchmark instances from literature and also introduce new benchmarks. Our CP models close all open instances for resource availability cost problems from the literature.

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 δijZ 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 V:={0,1,,n,n+1} (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 R. The cost for providing one unit of resource kR 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 piN0 is assigned and rikN0 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)

  • J. Rieck et al.

    Mixed-integer linear programming for resource leveling problems

    European Journal of Operational Research

    (2012)
  • S. Rodrigues et al.

    An exact algorithm for minimizing resource availability costs in project scheduling

    European Journal of Operational Research

    (2010)
  • S. Shadrokh et al.

    A genetic algorithm for resource investment project scheduling problem, tardiness permitted with penalty

    European Journal of Operational Research

    (2007)
  • B. Afshar-Nadjafi

    Using GRASP for resource availability cost problem with time dependent resource cost

    Economic Computation and Economic Cybernetics Studies and Research

    (2014)
  • R. Ahuja et al.

    Network flows

    (1993)
  • C. Artigues et al.

    Mixed-integer linear programming formulations

  • P. Baptiste et al.

    Constraint-based scheduling

    (2001)
  • M. Bartusch et al.

    Scheduling project networks with resource constraints and time windows

    Annals of Operations Research

    (1988)
  • K. Brinkmann et al.

    Heuristic procedures for resource-constrained project scheduling with minimal and maximal time lags: The resource-levelling and minimum project duration problems

    Journal of Decision Systems

    (1996)
  • ChuG.

    Improving combinatorial optimization

    (2011)
  • E. Demeulemeester

    Minimizing resource availability costs in time-limited project networks

    Management Science

    (1995)
  • A. Drexl et al.

    Guided lower and upper bounds for the resource investment problem

    The Journal of the Operational Research Society

    (2001)
  • B. Franck

    Prioritätsregelverfahren für die ressourcenbeschränkte Projektplanung mit und ohne Kalender

    (1999)
  • B. Franck et al.

    Project scheduling with calendars

    OR Spektrum

    (2001)
  • T. Gather et al.

    Tree-based methods for resource investment and resource levelling problems

  • HsuC. et al.

    A new heuristic for the multi-mode resource investment problem

    The Journal of the Operational Research Society

    (2005)
  • R. Klein

    Scheduling of resource-constrained projects

    (2000)
  • Cited by (0)

    View full text