+ All Categories
Home > Documents > Project scheduling with flexible resources: formulation and inequalities

Project scheduling with flexible resources: formulation and inequalities

Date post: 25-Aug-2016
Category:
Upload: francisco
View: 212 times
Download: 1 times
Share this document with a friend
29
OR Spectrum (2012) 34:635–663 DOI 10.1007/s00291-010-0233-0 REGULAR ARTICLE Project scheduling with flexible resources: formulation and inequalities Isabel Correia · Lídia Lampreia Lourenço · Francisco Saldanha-da-Gama Published online: 2 December 2010 © Springer-Verlag 2010 Abstract In this paper, we study a variant of the resource-constrained project sched- uling problem in which resources are flexible, i.e., each resource has several skills. Each activity in the project may need several resources for each required skill. We pres- ent a mixed-integer linear programming formulation for this problem. Several sets of additional inequalities are also proposed. Due to the fact that some of the above-men- tioned inequalities require a valid upper bound to the problem, a heuristic procedure is proposed. Computational experience is reported based on randomly generated data, showing that for instances of reasonable size the proposed model enlarged with the additional inequalities can be solved efficiently. Keywords Project scheduling · Multi-skilled resources · Mixed-integer linear programming I. Correia (B ) · L. L. Lourenço Departamento de Matemática, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa, 2829-516 Caparica, Portugal e-mail: [email protected] I. Correia Centro de Matemática e Aplicações, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa, 2829-516 Caparica, Portugal F. Saldanha-da-Gama Departamento de Estatística e Investigação Operacional, Faculdade de Ciências, Universidade de Lisboa, 1749-016 Lisboa, Portugal L. L. Lourenço · F. Saldanha-da-Gama Centro de Investigação Operacional, Faculdade de Ciências, Universidade de Lisboa, 1749-016 Lisboa, Portugal 123
Transcript
Page 1: Project scheduling with flexible resources: formulation and inequalities

OR Spectrum (2012) 34:635–663DOI 10.1007/s00291-010-0233-0

REGULAR ARTICLE

Project scheduling with flexible resources:formulation and inequalities

Isabel Correia · Lídia Lampreia Lourenço ·Francisco Saldanha-da-Gama

Published online: 2 December 2010© Springer-Verlag 2010

Abstract In this paper, we study a variant of the resource-constrained project sched-uling problem in which resources are flexible, i.e., each resource has several skills.Each activity in the project may need several resources for each required skill. We pres-ent a mixed-integer linear programming formulation for this problem. Several sets ofadditional inequalities are also proposed. Due to the fact that some of the above-men-tioned inequalities require a valid upper bound to the problem, a heuristic procedureis proposed. Computational experience is reported based on randomly generated data,showing that for instances of reasonable size the proposed model enlarged with theadditional inequalities can be solved efficiently.

Keywords Project scheduling ·Multi-skilled resources ·Mixed-integer linear programming

I. Correia (B) · L. L. LourençoDepartamento de Matemática, Faculdade de Ciências e Tecnologia,Universidade Nova de Lisboa, 2829-516 Caparica, Portugale-mail: [email protected]

I. CorreiaCentro de Matemática e Aplicações, Faculdade de Ciências e Tecnologia,Universidade Nova de Lisboa, 2829-516 Caparica, Portugal

F. Saldanha-da-GamaDepartamento de Estatística e Investigação Operacional, Faculdade de Ciências,Universidade de Lisboa, 1749-016 Lisboa, Portugal

L. L. Lourenço · F. Saldanha-da-GamaCentro de Investigação Operacional, Faculdade de Ciências,Universidade de Lisboa, 1749-016 Lisboa, Portugal

123

Page 2: Project scheduling with flexible resources: formulation and inequalities

636 I. Correia et al.

1 Introduction

In the past decades, project scheduling has become a crucial management tool for thesuccess and competitiveness of many organizations. Applications can be found, forexample, in engineering, manufacturing systems, and research/development projects.

A project scheduling problem is defined by its activities and by the precedencerelations that exist between them. Each activity has a specific execution time. Thegoal is to define the optimal schedule for the activities so that some performancemeasure associated with the project is optimized. The makespan is the performancemeasure most used in practice. Often, specific resources that exist in a limited amountare required to execute the activities. In such case, each activity requires a specificamount of each type of resource. This extension of the basic problem is called theresource-constrained project scheduling problem (RCPSP).

One major assumption in the RCPSP is that each resource has some specific func-tion. However, in many practical situations (e.g., when human resources are involved),a resource can perform several functions leading to a so-called project scheduling prob-lem with flexible resources (PSPFR). In this case, each resource has a set of skills orabilities that can perform. This is the problem addressed in this paper.

The PSPFR arises in many practical situations. For instance, consulting companiesoften have to allocate multi-skilled teams to different projects. Software developmentcompanies also face this problem when people with different abilities are to be com-bined in different teams to contribute to the development of several products. Theorganization of evaluation teams is another example. In this case, multi-skilled teamsare to be organized to visit departments, organizations, or institutions and write anevaluation report.

In the simplest setting of the PSPFR, each activity requires several units of eachskill. Additionally, each resource has several skills but can contribute with at most oneskill-unit to each activity. Moreover, the allocation of each resource to some activityshould last for the entire duration of the activity. The resources are assumed to berenewable, which means that after being used to perform some activity they can beassigned to some other activity. The goal is to decide for each activity, which resourcesshould be allocated to it and when should they be scheduled so that the makespan isminimized, i.e, the project finishes as soon as possible. This is the problem addressedin this paper.

As in the RCPSP, two types of constraints are usually involved: precedence con-straints and resource constraints. Precedence constraints establish a specific sequencefor some pairs of activities. This type of constraints arises for instance when thereexist some technological requirements stating that some activity must be finishedbefore some other starts. This may be simply a consequence from the fact that theoutput of some activity is the input of some other. Moreover, it is often the casethat precedence constraints are the result of organizational or political needs. Forinstance, if different activities are associated with different customers being one ofthem more important than the others, it is possible that the activity associated withthe most important customer is set to be executed before the others. Resource con-straints model the resource requirements of the activities assuming a scarce resourcesupply.

123

Page 3: Project scheduling with flexible resources: formulation and inequalities

Project scheduling with flexible resources: formulation and inequalities 637

The PSPFR is an extension of the unit-capacity RCPSP when each (renewable)resource has more than one skill. The RCPSP has been one of the most studied combi-natorial optimization problems in the field of project scheduling. In particular, manypapers can be found with particular cases and different generalizations of the problem.Some surveys published in the last years include Herroelen et al. (1998), Brucker et al.(1999), Kolisch and Padman (2001), Herroelen and Leus (2005), and Hartmann andBriskorn (2010). Very recently, Koné et al. (2011) presented a good survey of differentMILP formulations for the RCPSP.

The PSPFR described above and addressed in this paper falls in the extensions tothe RCPSP where resources are multi-skilled. Several papers can be found in the lit-erature considering this type of resources. Bellenguez and Néron (2005), Bellenguez-Morineau and Néron (2006, 2007), and Bellenguez-Morineau (2008) address thisproblem considering that there may be unavailable periods for the resources. The goalis to minimize the makespan. As pointed out by Bellenguez-Morineau (2008) suchproblem can be seen as a multi-mode RCPSP with a very high number of modes. InBellenguez and Néron (2005), hierarchical levels are assumed for the skills. In par-ticular, different levels of efficiency are associated with each resource for performingeach skill. The hierarchy establishes that if a resource can perform some skill at a cer-tain efficiency level then it can also perform the same skill at lower efficiency levels.Different efficiency levels may lead to different processing times for the activities (andeventually different consumption rates for the resources). Hierarchical levels for theskills are also considered in Hanne and Nickel (2005) where a multi-objective projectscheduling problem is studied in the context of software development. Heimerl andKolisch (2010) also consider a multi-skilled project scheduling problem in the contextof software development, but now heterogeneous efficiencies are associated with theresources. In particular, each resource has its own level of efficiency for performing theskills, and neither a relation nor a hierarchy exists between different resources. Pessanet al. (2007) consider a multi-skilled RCPSP for maintenance activities. The problemarises in the context of preventive maintenance. Some activities may be submittedto disjunctive constraints due to material limitations. The problem addressed in thecurrent paper can be seen as a particular case of the problem addressed in Bellenguezand Néron (2005).

It is worth mentioning that in addition to the multi-skilled RCPSP, several otherextensions of the basic RCPSP have been studied in the literature depending on thetype of resources considered. One such extension regards non-renewable resources.These are resources that are made available once throughout the planning horizon andthat are consumed in the execution of the activities. In this case, often, for each activity,there are different execution modes available. This leads to the so-called multi-modeproject scheduling problem. A mode corresponds to a subset of resources that togethercan process a given activity. Accordingly, each mode may define a specific resourceconsumption and a processing time for the activity. For further details on this problemsee Dauzère-Pérès et al. (1998) and Zhu et al. (2006).

Another type of resources that have been addressed in the literature refers to par-tially renewable resources. The availability of this kind of resource is associated witha subset of periods in the planning horizon, and the activities requiring the resourceonly consume it if they are processed in these periods. This type of resources, which

123

Page 4: Project scheduling with flexible resources: formulation and inequalities

638 I. Correia et al.

were introduced by Böttcher et al. (1999), were also addressed by Schirmer (1999)and more recently by Alvarez-Valdes et al. (2006, 2008).

Mellentien et al. (2004) consider allocatable resources. The resources are previ-ously allocated to the activities. Only afterwards, a decision is made about the bestscheduling for the activities. This is a problem presented in the context of the plan-ning of visits of customers to car factories when picking-up their new cars. Eachcustomer defines in advance the activities in which he wants to participate. The goalis to schedule all the activities minimizing the customers’ waiting time.

For a more comprehensive overview of resource concepts in RCPSP, the reader canrefer to the recent paper by Hartmann and Briskorn (2010).

The PSPFR is a NP-hard combinatorial optimization problem. In fact, it has theunit-capacity RCPSP as a particular case, which is NP-hard (see Blazewicz et al. 1983).Therefore, large instances of the PSPFR can only be expected to be solved approxi-mately using heuristics. Nevertheless, this does not mean that exact approaches shouldnot be attempted not only because this is a mean for evaluating (for small or mediumsize instances) new heuristic procedures but also because special classes of largeinstances may be solved to optimality in an efficient way. Following this reasoning,the first attempts to solve many of these problems are often based on integer program-ming. In the case of the RCPSP, several exact approaches can be found in the literatureas for instance Christofides et al. (1987), Mingozzi et al. (1998), Brucker et al. (1998),and Dorndorf et al. (2000).

The main purpose of this paper was to present a mixed-integer linear programming(MILP) formulation to the PSPFR and to show that the problem can be solved effi-ciently for small- and medium-sized instances using an off-the-shelf general solver.With this purpose, the initial formulation is enhanced with additional inequalities,some of which resulting from a pre-processing phase. The goal is twofold: on onehand to obtain a simplified formulation and on the other hand to add inequalities thatmay be helpful when it comes to solve the problem to optimality using a commercialsolver.

The remainder of this paper is organized as follows. In Sect. 2, we formally describethe PSPFR and propose a MILP formulation. Some basic properties are also discussed.In Sect. 3, we propose several sets of additional inequalities that can be added to themodel. Due to the fact that some of these inequalities require an upper bound to theproblem, in Sect. 4, we propose a heuristic to find feasible solutions to the problem.Section 5 presents the computational experience performed to analyze the methodol-ogy proposed in this paper. The paper finishes with some conclusions drawn from thework done and some directions for further research.

2 Mathematical model

We consider the PSPFR problem as described in the previous section. In addition tothe description made above, we consider the following assumptions:

• Preemption is not allowed. This means that once an activity starts to be executed itcannot be interrupted.

123

Page 5: Project scheduling with flexible resources: formulation and inequalities

Project scheduling with flexible resources: formulation and inequalities 639

• All processing times are integer. In particular, we assume that the time necessaryto execute an activity can be measured in hours, days, weeks, months, etc. Thus,fractional values are not accepted.• The resource requirements for each activity are known in advance and do not change

over the processing of the activity.

We assume that the precedence relations between activities are given by a so-calledactivity-on-node (AON) network G = (J, A), where J represents the set of activitiesand A represents the set of precedences between the activities. The network is acyclic,and the nodes are numerically labeled in such a way that each activity is always labeledby a number smaller than the numbers labeling its successors. Additionally, each archas a weight equal to the processing time of the activity that is the origin of the arc.We consider two dummy activities: one representing the beginning of the project andthe other representing the end. The dummy activities are assumed to have no resourcerequirements and to have processing time 0.

It should be noted that the precedence relations defined in the set A above implyother (non-direct) precedences. In fact, if some activity j1 precedes j2 (i.e., j1 ≺ j2)and j2 precedes j3 (i.e., j2 ≺ j3), then j1 precedes j3. In such case, we write j1 ≺≺ j3.

Before deepening the study on the PSPFR, we introduce the following notation:

I = {1, . . . , i, . . . , m} Set of resources.J = {0, . . . , j, . . . , n + 1} Set of activities to be executed. Activities 0 and

n + 1 are the dummy activities. Thus, n is thenumber of activities to be executed.

K = {1, . . . , k, . . . , o} Set of skills.K Jj Set of skills required by activity j ( j ∈ J ).K Ii Set of skills that resource i can perform (i ∈ I ).n jk Number of resources with skill k required by activity j

( j ∈ J, k ∈ K ).p j Processing time for activity j ( j ∈ J ).

Based upon the previous notation we can define:

Ji = { j ∈ J : K Ii ∩ K Jj �= ∅} Set of activities to which resource i can contribute (i ∈ I ).Ik = {i ∈ I : k ∈ K Ii } Set of resources with skill k (k ∈ K ).I J j = {i ∈ I : K Ii ∩ K Jj �= ∅} Set of resources that can be used in activity j ( j ∈ J ).

Finally, we define the set

E = {( j1, j2) ∈ J × J : j1 �≺ j2 ∧ j2 �≺ j1 ∧ j1 �≺≺ j2 ∧ j2 �≺≺ j1}.

This set will be used in the mathematical model to be presented below and containsall pairs of activities between which no precedence relation (direct or transitive) exists.

In the remainder of the paper, we will consider 0 for the origin of time.Many mathematical programming formulations can be found in the literature for

different project scheduling and management problems. Some examples are the well-known formulations proposed by Applegate and Cook (1991) for the job-shop sched-uling problem, the formulations proposed by Alvarez-Valdés and Tamarit (1993),Baptiste and Demassey (2004), Carlier and Néron (2003), Christofides et al. (1987),and Demassey (2008) for the RCPSP, and the integer programming time-dependant

123

Page 6: Project scheduling with flexible resources: formulation and inequalities

640 I. Correia et al.

formulations proposed by Bellenguez and Néron (2005) and Bellenguez-Morineauet al. (2006) for multi-skilled RCPSP. Apart from the time-dependent formulations,many such models consider non-negative decision variables for the starting time ofthe activities as well as binary variables defining the execution order for any pairof activities. In the case of the PSPFR, we can consider the same type of variables.Accordingly, we have

w jl ={

1 if activity j finishes before activity l starts0 otherwise

, j, l ∈ J ∧ ( j, l) ∈ E .

x j : Starting time for activity j , j ∈ J .

Note that variables w jl are only defined for pairs ( j, l) ∈ E because for all theother no such decision is needed.

In the case of the PSPFR and taking into account the flexibility of the resources,we propose, in addition, the following decision variables:

yi jk ={

1 if resource i contributes with skill k for activity j0 otherwise

,

i ∈ I, j ∈ Ji , k ∈ K Ii ∩ K Jj .

Considering the decision variables above, the PSPFR can be formulated as a MILPproblem as follows:

(P) min xn+1 (1)

s. to : xl ≥ x j + p j j, l ∈ J ∧ ( j, l) ∈ A (2)

xl ≥ x j + p j − M(1− w jl

)j, l ∈ J ∧ ( j, l) ∈ E (3)

w jl + wl j ≤ 1 j, l ∈ J ∧ ( j, l) ∈ E (4)∑i∈Ik

yi jk = n jk j ∈ J, k ∈ K Jj (5)

∑k∈K Ii∩K Jj

yi jk ≤ 1 i ∈ I, j ∈ Ji (6)

∑k∈K Ii∩K Jj

yi jk +∑

k∈K Ii∩K Jl

yilk ≤ w jl + wl j + 1

i ∈ I, j, l ∈ Ji ∧ ( j, l) ∈ E (7)

x j ≥ 0 j ∈ J (8)

yi jk ∈ {0, 1} i ∈ I, j ∈ Ji , k ∈ K Ii ∩ K Jj (9)

w jl ∈ {0, 1} j, l ∈ J ∧ ( j, l) ∈ E (10)

The objective function (1) defines the makespan (to be minimized). Constraints (2)assure that the precedence constraints are satisfied. In constraints (3), M denotes alarge value. These constraints assure that if w jl is equal to 1 then activity l can startonly after activity j is finished. Constraints (4) assure that either activity j finishes

123

Page 7: Project scheduling with flexible resources: formulation and inequalities

Project scheduling with flexible resources: formulation and inequalities 641

before activity l starts or activity l finishes before activity j starts or none of theprevious. These are consistency constraints for variables w jl . Constraints (5) assurethat for each skill required for each activity, the necessary resources are allocated.Inequalities (6) state that each resource contributes with at most one skill to eachactivity. Constraints (7) assure that if one resource i is assigned to two activities jand l (assuming j, l ∈ Ji ) then, w jl + wl j ≥ 1, which together with (4) assure thatw jl + wl j = 1, which means that activities j and l cannot overlap (either j finishesbefore l starts or the other way round). Naturally, these constraints only make sensefor pairs of activities belonging to E . Constraints (8)–(10) are domain constraints.

The formulation presented above accommodates very easily the introduction of newprecedences by simply setting appropriately two w variables. In fact, if we realize thatsome activity j must precede some other activity l, then we can simply set w jl = 1and wl j = 0. This aspect will be relevant later in this paper.

As mentioned before, the PSPFR is NP-hard. Nevertheless, feasibility of oneinstance can be easily checked in polynomial time. To see this, we just need to observethat the feasibility of an instance only depends on having enough resources for process-ing each activity. In fact, as no deadline exists for finishing the project, the activitiescan be processed one at a time. Therefore, checking the feasibility of the PSPFRreduces to checking whether there are resources enough to execute each activity. Ata first glance, one might think that this could be achieved by simply comparing, foreach activity j , the values n jk with the cardinalities of the set Ik . However, a trivialexample shows that this is not the case. In fact, suppose that there is only one resourcewith skills k′ and k′′. If some activity j requires one resource for each of these twoskills, the comparison between the value n jk′ and n jk′′ and the cardinalities of Ik′ andIk′′ , respectively, would be favorable. Nevertheless, in such situation, activity j couldnot be executed, and the problem would turn out to be infeasible.

Checking the feasibility of an instance can be done by finding a feasible flow in aspecific network defined for each activity. For each activity j ∈ J , let G j = (X j , A j )

be a directed graph such that:

• The set of nodes X j contains:– a source node s,– I J j (a set of nodes defined by the resources that can be assigned to activity j),– K Jj (a set of nodes associated with the skills required by activity j),– a sink node t .• The set of arcs A j contains:

– arcs (s, i), i ∈ I J j with minimum throughput 0 and capacity 1,– arcs (i, k), i ∈ I J j , k ∈ K Jj ∩ K Ii , with minimum throughput 0 and capacity 1,– arcs (k, t), k ∈ K Jj , with minimum throughput and capacity n jk .

The auxiliary graph obtained for each activity j ∈ J is illustrated in Fig. 1.Note that in order to be able to execute an activity j ∈ J , n jk resources are needed

for each skill k required by the activity (i.e., for each skill k ∈ K Jj ). However, eachresource is used at most once because the lower and upper capacities in the intermediatearcs are 0 and 1, respectively.

123

Page 8: Project scheduling with flexible resources: formulation and inequalities

642 I. Correia et al.

Fig. 1 Auxiliary graph built tocheck whether there areresources enough for processingactivity j

If a feasible flow between s and t can be found in the above graph, then we knowthat there are enough resources to execute activity j . If this happens for all activities,then the PSPFR is feasible. If for some activity j there is no feasible flow between sand t in the corresponding graph, then the resources are not enough to execute thisactivity, and consequently, the entire project fails to be executed.

The most obvious lower bound for the PSPFR is obtained by considering only con-straints (2) and (8) in the formulation presented above. In such case, the makespanwill be equal to the length of the critical path between the dummy nodes 0 and n + 1in the precedence network. This type of bound has been widely used in solution pro-cedures for the RCPSP driven from the situation in which the capacity constraints arediscarded. However, in the PSPFR, when computing the critical path between nodes0 and n + 1 in the precedence network, we are ignoring almost all the informationdefining the structure of the problem. Therefore, this lower bound may be extremelyweak. Regarding this obvious bound, we can go even further by proving the followingresult.

Result 1 The value of the bound provided by the linear relaxation of P is given bythe length of the longest path between nodes 0 and n + 1.

Proof Let us set each x j in its lowest possible value, which means, x0= 0 andx j =maxl:(l, j)∈A{xl + pl} ∀ j ∈ J \ {0}. Let us also set w jl = 0.5 ∀ j, l ∈ J such that( j, l)∈ E . Now, we only have to find feasible values for the variables yi jk (i ∈ I ,j ∈ Ji , k ∈ K Ii ∩ K Jj ) because constraints (4) are automatically satisfied, and con-straints (3) and (7) become redundant. The problem of finding values for variablesyi jk satisfying (5) and (6) can be decomposed into n problems, one for each activityand can be solved using the auxiliary graphs G j = (X j , A j ) like the one depictedin Fig. 1. Therefore, assuming that we are facing a feasible instance, the problem offinding values for variables yi jk is feasible. Therefore, the linear relaxation of P hasalways a feasible solution with all variables x j set according to the rule above. Thisrule establishes that x j will be equal to the longest path between 0 and j . Moreover,this is the lowest value that can be assigned to the x variables. Thus, the optimal valueof the linear problem is the length of the critical path between 0 and n + 1. �

123

Page 9: Project scheduling with flexible resources: formulation and inequalities

Project scheduling with flexible resources: formulation and inequalities 643

There are less obvious lower bounds for the PSPFR, which do not depend on aMILP formulation for the problem. Two such bounds were proposed by Bellenguezand Néron (2005) as an adaptation of lower bounds existing in the literature for theRCPSP. In Sect. 5, we report results which compare the bound provided by the linearrelaxation of P with one of the more elaborated bounds proposed by Bellenguez andNéron (2005).

The most obvious upper bound for the problem is∑

j∈J p j . This is the time nec-essary to execute all the activities in the most adverse case, which corresponds tono overlapping between activities. Note that this bound is in general also very weakunless, a very low level of parallelization exists in the optimal solution.

3 Additional inequalities

In this section, we study several strategies for simplifying the mathematical modelpresented in the previous section and also for enhancing it with additional inequali-ties.

3.1 Time windows for starting the activities

We start by presenting a straightforward set of inequalities which are based on releasedates and deadlines for each activity. Despite its simplicity, we present it here to makethe text self-contained.

Let µ( j, l) be the length of the longest path from node j to node l in the precedencenetwork, j, l ∈ J, j < l. Denote by UB a valid upper bound on the optimal value ofthe problem. For each activity j ∈ J , denote by ES j and LS j its earliest starting timeand its latest starting time, respectively. Note the well-known fact, from project man-agement, that activity j cannot start being executed before time µ(0, j). On the otherhand, if UB is a valid upper bound on the optimal value of the problem, then takinginto account that after activity j is processed one still has to wait at least µ( j, n + 1)

until the entire project is finished (again this is a well-known result from project man-agement), then activity j cannot start later than UB−µ( j, n+1); otherwise, the entireproject would finish only after time UB. These remarks lead to the forward-pass andbackward-pass recursions that can be summarized in the following result.

Result 2 For j ∈ J ,ES j = µ(0, j)

andLS j = UB− µ( j, n + 1).

The previous result establishes a time window for the beginning of the executionof an activity j . In fact, as a consequence of the result, we have

ES j ≤ x j ≤ LS j (11)

which can be added to the formulation proposed in the previous section.

123

Page 10: Project scheduling with flexible resources: formulation and inequalities

644 I. Correia et al.

The previous result requires the knowledge of an upper bound on the optimal valueof the problem. In the next section, we propose a heuristic procedure for PSPFR thatallows us to obtain such bound.

3.2 Reduction test

Let us introduce the following definition.

Definition 1 Two activities j, l ∈ J, j, l �= 0, n + 1 are said to be incompatible ifthere is never a slot in time in which they can be executed simultaneously. Activitiesj and l are said to be compatible if they are not incompatible.

The previous incompatibility concept is not new. In fact, it has been also proposedfor the RCPSP (see, for instance, Alvarez-Valdés and Tamarit 1993 or Klein and Scholl1999). For the PSPFR, several sufficient conditions for incompatibility can be stated.Before doing so, let us consider two activities j and l and an auxiliary directed networkGa = (Xa, Aa) built as follows. Apart from a source and a sink node, we consider twointermediate sets of nodes in Xa . The first of them has all the resources that can performat least one skill required by any of the two activities. The second intermediate set ofnodes has all the skills required by at least one of the two activities. The set of arcs Aa

is defined as follows. From the source node, there will be an arc converging in eachnode in the first intermediate set with a minimum throughput 0 and capacity 1. Eachnode in the first intermediate set will be linked to a node in the second intermediateset if the resource (node in the first set) has the skill (node in the second set). Again,the minimum throughput will be set to 0 and the capacity to 1. Finally, there will bearcs linking the nodes in the second intermediate set and the sink node. Each such archas a minimum throughput and capacity equal to the number of resources requiredfor the corresponding skill if both activities are executed simultaneously. Note that ifa feasible flow exists in this auxiliary graph, then activities j and l can be executedsimultaneously.

The following result establishes a set of sufficient conditions for two activities tobe incompatible. We omit the proof because the result is an immediate consequenceof several observations already made.

Result 3 Consider two activities j, l ∈ J . If at least one of the following conditionshold, then the activities are incompatible.

1. There is a precedence relation between j and l2. LS j + p j < ESl

3. LSl + pl < ES j

4. No feasible flow exists in the auxiliary network Ga = (Xa, Aa) built as above.

The knowledge of all pairs of incompatible activities can be used to set the valueof some variables w and thus to simplify model P .

Consider two activities j and l. Assume that they are compatible (i.e., the value ofw jl can still be chosen). Assume also that activity j cannot be finished before l. Inthis case, w jl cannot have value 1, and thus, we can set it to 0.

123

Page 11: Project scheduling with flexible resources: formulation and inequalities

Project scheduling with flexible resources: formulation and inequalities 645

Assume now that activities j and l are incompatible but without any precedencerelation existing between them (i.e., the value of w jl can still be chosen). In this case,either j must be executed before l or the other way round. In some circumstances, it ispossible in advance to realize which is the case. Moreover, when we realize that oneactivity j must be executed before other activity l, by transitivity, all successors of lin the precedence network also become successors of j . Therefore, we have justifiedthe following reduction test.

Reduction testConsider two activities j and l.If j and l are compatible and if ES j + p j > LSl then w jl = 0.If j and l are incompatible with no precedence constraint existing between themthen

If ES j + p j > LSl thenwl j = 1, w jl = 0.wls = 1, wsl = 0, for all successors s of j .wpj = 1, w j p = 0, for all predecessors p of l.wps = 1, wsp = 0, for all predecessors p of l and

for all successors s of j .Else if ESl + pl > LS j then

w jl = 1, wl j = 0.w js = 1, ws j = 0, for all successors s of l.wpl = 1, wlp = 0, for all predecessors p of j .wps = 1, wsp = 0, for all predecessors p of j and

for all successors s of l.

The second part of the reduction test (when j and l are incompatible) is an adapta-tion to the PSPFR of the well-known pair test proposed by Carlier and Pinson (1989)for the job-shop scheduling problem.

3.3 Other inequalities

In this section, we explore the link between incompatible activities and selection ofdisjunction variables, and we extend the reasoning to triplets of activities. This partis strongly related to the well-known forbidden set notion for the RCPSP (see, forinstance, Herroelen et al. 1998).

The knowledge of the sets of incompatible activities can be easily introduced inmodel P . This was proposed by Alvarez-Valdés and Tamarit (1993) for the projectscheduling problem and can be done in exactly the same way for the PSPFR. In fact, asmentioned before, if two activities j, l are incompatible, then either j will be executedbefore l or the other way round. Therefore, if the constraint w jl + wl j ≤ 1 exists inthe model, then it can be replaced by

w jl + wl j = 1 (12)

because in this case we know in advance that it is not possible to have w jl = wl j = 0.

123

Page 12: Project scheduling with flexible resources: formulation and inequalities

646 I. Correia et al.

Any set { j, l} of compatible activities can be extended to a triplet { j, l, h} of incom-patible activities if { j, h} and {l, h} are pairs of compatible activities, but the threeactivities j , l, and h cannot be executed simultaneously. In order to check whetherthe three activities can be executed simultaneously, an auxiliary directed networkGa = (Xa, Aa) can be built as before but now including the resource requirementsfor the three activities.

The information provided by the triplets of incompatible activities can also be usedto add new inequalities to the model. In fact, if { j, l, h} is a triplet of incompatibleactivities, then the following inequality is valid for P:

w jl + wl j + w jh + wh j + wlh + whl ≥ 1. (13)

This inequality follows from the fact that if the three activities j, l, h are incom-patible, then at least one of the variables involved in the previous inequality must beequal to 1. Again, note that this type on inequality was proposed for project schedulingproblems by Alvarez-Valdés and Tamarit (1993).

Naturally, the reasoning leading to inequality (13) could be used to derive inequal-ities for sets with more than three incompatible activities. However, in this process, atrade-off must be reached between the gain we get with the inequality and the compu-tational effort required to derive it. In fact, finding sets of four incompatible activitiessuch that the three-activity subsets are compatible would lead to an increase in thecomputational effort that we have not tried in this paper.

In an attempt to explore other inequalities already existing for project schedulingproblems, we consider the following two results which proofs are straightforward.

Result 4 Let h, j, l ∈ J be such that no precedence relation exists between them.If

h and l are not incompatible

orIf

(i) h and l are incompatible and(ii) h and j are incompatible and

(iii) j and l are incompatible

Then it must be

whl ≥ wh j + w jl − 1. (14)

Result 5 Let h, j, l ∈ J be such that no precedence relation exists between them.

1. If(i) h precedes j and

(ii) h and l are not incompatibleorIf

(i) h precedes j and

123

Page 13: Project scheduling with flexible resources: formulation and inequalities

Project scheduling with flexible resources: formulation and inequalities 647

(ii) h and l are incompatible and(iii) j and l are incompatibleThen it must be

whl ≥ w jl . (15)

2. If(i) j precedes l and

(ii) h and l are not incompatibleorIf

(i) j precedes l and(ii) h and l are incompatible and

(iii) j and h are incompatibleThen it must be

whl ≥ wh j . (16)

The inequalities stated in results (4) and (5) were proposed by Alvarez-Valdés andTamarit (1993) for the project scheduling problem.

A new set of inequalities can be derived for the PSPFR by making use of the binaryvariables associated with the resources. Consider, as before, that we have an upperbound UB on the optimal value of the problem. One immediate conclusion is that,in the optimal solution of the problem, no resource i ∈ I spends in total with theactivities to which it is assigned more time than UB. Therefore, we can write

∑j∈Ji

∑k∈K Ii∩K Ji

p j yi jk ≤ UB, i ∈ I (17)

From the previous inequalities and taking into account that we have binary variablesin the left term, we can divide both members in (17) by an integer q ∈ {2, . . . , max j∈Ji

{p j }} obtaining

∑j∈Ji

∑k∈K Ii∩K Ji

p j

qyi jk ≤ UB

q, i ∈ I, q ∈ {2, . . . , max j∈Ji {p j }}.

By rounding down each coefficient in the left-hand side in the previous inequalitiesand then by doing the same in the right-hand side, we obtain a new set of additionalinequalities that can be added to model P:

∑j∈Ji

∑k∈K Ii∩K Ji

⌊p j

q

⌋yi jk ≤

⌊UB

q

⌋, i ∈ I, q ∈ {2, . . . , max j∈Ji {p j }}.

(18)

123

Page 14: Project scheduling with flexible resources: formulation and inequalities

648 I. Correia et al.

It should be noted that in the previous set of inequalities it may happen that severalinequalities have the same right-hand side. In such case, only the ‘stronger’ should beadded to model P .

4 Upper bounds

In the previous section, several additional inequalities were proposed for model P ,some of which requiring a valid upper bound to the optimal value of the problem. Inthis section, we propose a two-phase heuristic procedure for obtaining such bound.It should be noted that we are dealing with a very complex problem. Accordingly,the goal of this section is not to present a highly sophisticated heuristic to the prob-lem but instead a method that produces acceptable feasible solutions with little com-putational effort so that the resulting upper bound can be used in the inequalitiesrequiring it.

Any heuristic for the PSPFR should seek for a feasible schedule, which is one thatrespects all the precedence relations and also such that the resources needed to exe-cute the activities are available to do so when required. With this goal, we propose atwo-phase heuristic procedure. In the first phase, a feasible schedule is constructed.In the second phase, an attempt is made to improve this schedule by means of a localsearch procedure.

4.1 Constructive phase

In general terms, the schedule built in the first phase is a sequence of blocks of com-patible activities that satisfy the precedence relations. This constructive phase is aniterative procedure that starts with an initialization step. In each iteration, a block ofcompatible activities is built by adding activities one at a time. We consider at mosttriplets of compatible activities. Therefore, each block is a set with at most three activ-ities. Finally, we have a step for updating variables and counters and check whetherwe have already scheduled all the activities.

This constructive phase was motivated by the possibility of taking advantage ofthe information gathered when some of the valid inequalities presented in Sect. 3 areobtained. In fact, in order to obtain inequalities (12) we need to compute the pairs ofincompatible activities (between which no precedence relation exists). Accordingly,we immediately detect all the pairs of compatible activities. On the other hand, inorder to obtain inequalities (13), we get (without additional computational effort) theinformation about the triplets of compatible activities. These were the facts motivatingthe procedure just proposed.

The constructive phase corresponds to a parallel scheduling scheme, which is atype of scheme that has been considered in the RCPSP (see, for instance Kolisch1996; Kolisch and Hartmann 1999). The complete constructive procedure devised forthe PSPFR can be formalized as follows.

123

Page 15: Project scheduling with flexible resources: formulation and inequalities

Project scheduling with flexible resources: formulation and inequalities 649

Finding a feasible schedule for the PSPFR

Step 0: Build a stack L with all the activities sorted by non-increasing of their number ofsuccessorsnb← 1 // counter for the number of blocksnsa← 0 // number of activities already scheduledmakespan← 0

Step 1: block[nb] ← ∅ // activities in block nbtimeBlock ← 0 // time for the completion of the current blockFind j1 the first activity in the stack L such that all its predecessors

have already been scheduledblock[nb] ← block[nb] ∪ { j1}nsa← nsa + 1L ← L \ { j1}timeBlock ← p j1Find the next activity in the stack L such that all its predecessors

have already been schedule and that it is compatible with j1If such activity exists denote it by j2. Else goto step 2.

block[nb] ← block[nb] ∪ { j2}nsa← nsa + 1L ← L \ { j2}timeBlock ← max{p j1 , p j2 }Find the next activity in the stack L such that all its predecessors

have already been schedule and that it is compatible with j1and j2If such activity exists denote it by j3. Else goto step 2.

block[nb] ← block[nb] ∪ { j3}nsa← nsa + 1L ← L \ { j3}timeBlock ← max{p j1 , p j2 , p j3 }

Step 2: makespan← makespan + t imeBlockIf nsa < n

nb← nb + 1go to Step 1

Else STOP // a feasible schedule has been reached

Remark 1 When the procedure described above is executed after obtaining inequalities(12) and (13), all the information about the pairs and triplets of compatible activitiesis already available. If this is not the case, then we can simply check the compatibilityof those activities appearing at the same time as candidates in Step 1. In this paper,the above procedure was used as part of a procedure to obtain valid inequalities to thePSPFR. Therefore, when executing this procedure, we have already all the informationabout the pairs and triplets of compatible activities.

4.2 Improvement phase

The improvement phase is a descent local search procedure. A neighborhood is definedby a swap move. Accordingly, for a feasible schedule, we consider as neighbors allthe feasible schedules that differ from the current one by the interchange of exactlytwo activities belonging to two consecutive blocks.

Note that this kind of move does not change the cardinality of the blocks, but itbecomes very attractive from a computational point of view.

123

Page 16: Project scheduling with flexible resources: formulation and inequalities

650 I. Correia et al.

In each iteration of the improvement phase, we choose the (feasible) move leadingto the largest improvement in the solution value. When no feasible move can be foundimproving the solution value, the procedure stops.

4.3 Embedding the upper bound in the additional inequalities

Once an upper bound on the optimal value of the PSPFR is available, it can be includedin the additional inequalities presented in Sect. 3. After performing the reduction test,we may be able to set to 1 some w variables; this means that new precedences can beincluded in the precedence network. Therefore, a new upper bound may be reachable.Thus, in order to make the best of the inequalities presented in Sect.3, we propose theiterative procedure given below.

Embedding the upper bound in the additional inequalities

Step 1: Compute all pairs of incompatible activitiesStep 2: Compute all triplets of incompatible activitiesStep 3: Compute an upper bound UBStep 4: Compute the longest path between all non-dummy nodes and the dummy nodes

in the precedence networkStep 5: Compute the time windows constraints (11)Step 6: Perform the reduction test to set variables w to 1 or 0Step 7: If some variable w is set to 1 update the precedence network correspondingly and

return to step 1.

5 Computational experience

In this section, we report the computational experience performed with model P andthe possible enhancements proposed in the previous sections.

Due to the fact that no benchmark instances exist for the PSPFR, a set of instanceswas generated taking into account the experience reported in the project schedulingproblem library (PSPLIB) (Kolisch and Sprecher 1996). The methodology we pro-pose for generating the instances is presented in Sect. 5.1. The results are presentedin Sect. 5.2.

5.1 Test data

As pointed out by Kolisch and Sprecher (1996), there are three features that maystrongly influence the complexity/behavior of an instance for the RCPSP. These are:the precedence network complexity, the resource factor, and the resource strength.Network complexity (NC) is given by the average number of direct successors of theactivities and measures the complexity of the precedence network. The resource factor(RF) is given by the average proportion of resources required by each activity. Thisis a value between 0 and 1. A value close to 1 indicates that the activities are verydemanding in terms of the resources. Finally, the resource strength (RS) gives themean tightness of the resource constraints. This is also a value in the interval [0, 1].

123

Page 17: Project scheduling with flexible resources: formulation and inequalities

Project scheduling with flexible resources: formulation and inequalities 651

A resource strength near to 1 indicates that the available resources are enough to allowall the activities to start in their earliest starting time. A resource strength near 0 indi-cates that the resources are scarce meaning that each activity will require the resourcesin their limit (or close to it). It should be emphasized that the difficulty in solving aninstance increases as the resource strength decreases. These features characterize theProGen instances, usually considered by the authors working with the RCPSP, whichcan be found in the PSPLIB (Kolisch et al. 1995).

Similar features, as the ones mentioned above, can be considered for the PSPFR.However, now, instead of a resource factor, we propose a skill factor (SF), which isthe proportion of skills required by each activity.

Additionally, due to the multi-skilled nature of the resources in our problem, we hadto measure the resource strength in a different way from the one used by Kolisch et al.(1995). Thus, we propose a modified resource strength (MRS) which is obtained com-puting the ratio between the expected total number of resource-capacity units availableand the total number needed to perform all the activities. For instance, if we consider20 activities, each of which requiring four skills, then we need to perform 80 skills. Ifthe number of resources required with each skill is two, then we need 160 resources.If we consider 20 available resources, then we have a modified resource strength of20160 = 0.125. In our case, as we explain later, the number of resources required for eachskill in each activity is randomly generated. Accordingly, we consider expectations inthe computation of the modified resource strength.

The modified resource strength just proposed differs in two aspects from theresource strength concept proposed by Kolisch et al. (1995). First, when consider-ing a resource strength holding for the entire project, we are aggregating all resources.In Kolisch et al. (1995), resource strength is resource specific. Second, we also con-sider an aggregation over time which means that we take into account the total demandfor the entire duration of the project. Kolisch et al. (1995) take into account the peaksin the demand (e.g., when an earliest start schedule is considered). The aggregationover time that we consider leads to small values for the modified resource strength.

Considering the three features above (NC, SF, and modified RS), four availableskills were considered for our test instances. In addition to this, we have the following.Regarding the activities:• The number of activities was set equal to 20 (excluding the two dummy nodes).• In order to explore different values for SF four cases were considered.

(i) All activities require the four available skills. This means setting SF = 1.(ii) All activities require three skills. This means setting SF = 0.75. To achieve

this, for each activity, three skills were randomly generated among the fouravailable.

(iii) All activities require two skills. This means setting SF = 0.5. To achieve this,for each activity, two skills were randomly generated among the four available.

(iv) For each activity, the number of required skills is randomly selected in the set{2, 3, 4}, which means an expected skill factor SF = 0.75. For each activity,once the number of skills is generated, the specific skills are also randomlyselected.

• For each activity and for each required skill, the number of resources needed withthe skill was randomly chosen in the set {1, 2, 3}.

123

Page 18: Project scheduling with flexible resources: formulation and inequalities

652 I. Correia et al.

• For each activity, an execution time was randomly generated in the set {1, . . . , 10}as it was done in the ProGen instances mentioned above.

Regarding the precedence network:

• The dummy start node has three successors (following what is considered in thePSPLIB for the RCPSP).• The dummy sink node has three predecessors (following what is considered in the

PSPLIB for the RCPSP).• NC ∈ {1.5, 1.8, 2.1} (following the values proposed in the literature for the RCPSP).• For each activity 1, . . . , n−3, the number of direct successors was chosen in the set{1, 2, 3}. For each activity 4, . . . , n, the number of direct predecessors was chosenin the same set. The successors and predecessors of each activity and their exactnumber was randomly chosen in order to assure that the value of NC is met and,naturally, that the final network is a connected graph. Again, we followed for thePSPFR a methodology similar to the one followed for the RCPSP in the PSPLIB.

Regarding the resources:

• In order to obtain instances with several modified resource strength values, we con-sidered different values for the total number of resources keeping all the aboveparameters fixed.• For each resource, the number of skills it can perform was randomly chosen in the

set {1, 2, 3}.• Once the previous number is selected, the specific skills a resource can perform

were selected randomly in the set of four skills available.• Before setting the values for the modified resource strength, several preliminary

computational tests were performed showing that a modified resource strength tooclose to 0 led often to infeasibility while a modified resource strength too high ledto instances extremely easy to solve and thus not so interesting to test the methodol-ogy proposed in this paper. Accordingly, 20, 25, and 30 resources were consideredfor the instances in which each activity requires all the four skills. This means anexpected modified resource strength of 0.125 in the first case, 0.15625 in the second,and 0.1875 in the third.The expected values above were approximately maintained for the instances inwhich all the activities require three skills and for the instances in which each activ-ity requires two skills. Accordingly, in the former case, we considered 15, 20, and25 resources, whereas in the latter we considered 10, 13, and 15 resources. For theset of instances with a variable number of skills, as the expected number of skillsper activity is three, we considered the same number of resources chosen for theinstances in which all activities require three skills, i.e., 15, 20, and 25.

For each combination of all parameters, six instances were generated. In total, 216instances were generated (we are considering 36 different combinations for the param-eters—4 possibilities for the number of skills per activity, 3 values for the networkcomplexity, and 3 values for the number of resources).

123

Page 19: Project scheduling with flexible resources: formulation and inequalities

Project scheduling with flexible resources: formulation and inequalities 653

5.2 Computational results

The network flow feasibility problems allowing to find pairs and triplets of compat-ible/incompatible activities were solved using the code RELAX-IV (Bertsegas andTseng 1994), setting all the unitary flow costs equal to 0. The models presented in theprevious sections were solved using standard mathematical programming software,namely the exact algorithm provided by the ILOG CPLEX 11.0 (ILOG CPLEX User’sManual 2007), on a machine with an INTEL processor with 2.9 GHz and 2 GB ofRAM.

In all tests, a time limit of 18,000 s (5 h) was considered. All the other CPLEXparameters were maintained in their default values.

Tables 1, 2, 3, and 4 contain the results obtained. Each table refers to one of thefour sets of instances presented in the previous section. Each table has two sub-tablesnamely, one with the information aggregated according to the network complexity(NC) and another one with the information aggregated according to the number ofresources (m). Each line in a sub-table corresponds to average information for 18instances. For example, in the first sub-table of Table 1, the first line regards the 18instances that we have with four skills per activity, and with NC = 1.5. In fact, we areconsidering three values for m and six instances for each value.

In each sub-table of Tables 1, 2, 3, and 4, the information is organized as follows:

• The first column contains the value of NC (upper sub-table) or m (lower sub-table).• The second column contains the models considered. For instance ‘P+(A)’ denotes

model P with the addition of the inequalities (A). ‘R’ means that the reduction testwas applied.• The third column has the information regarding the number of instances (out of

18) in which the time limit was attained or an out of memory error occurred. Forinstance, “6/1” means that for the particular set of 18 instances considered, in 6 ofthem the time limit was reached and on one other instance an out of memory erroroccurred which prevented the solver to solve the instance.• In the fourth column we can find the average CPU time (rounded to the second)

needed to solve the instances (that could be solved).• Column five (headed by ‘gap’) gives the average termination gap (in percentage)

for the instances such that the time limit was attained or such that an out of memoryerror occurred. This is a value given by the solver and measures the gap betweenthe best upper and lower bounds known for the instance.• Column six (headed by ‘gap LR’) gives the average gap in percentage of the linear

relaxation bound.1

• In column seven (headed by ‘time LR’), we find the average CPU time (in seconds)required to solve the linear relaxation.

Observing Tables 1, 2, 3, and 4 we can draw the following conclusions:

1 For each instance this bound is defined by 100 × opt−lropt , where opt denotes the optimal value of the

instance if this value is known, otherwise, it represents the best-known upper bound. lr denotes the optimalvalue of the linear relaxation.

123

Page 20: Project scheduling with flexible resources: formulation and inequalities

654 I. Correia et al.

Table 1 Results for the instances with four skills per activity (SF = 1.0)

NC Model tl/om time gap gap LR time LR

(a) Results aggregated by the values of NC

1.5 P 9/0 43 10.59 5.99 0.24

P + (11)+ (12)+ (13) 4/0 896 5.91 5.99 0.30

P + (11)+ (12)+ (13)+ R 4/0 889 5.91 5.99 0.29

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 7/0 238 5.19 5.99 0.17

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 7/0 238 5.19 5.99 0.16

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 6/0 1,554 4.37 5.99 0.16

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 6/0 1,874 4.24 5.99 0.18

1.8 P 7/0 1,507 8.20 4.57 0.21

P + (11)+ (12)+ (13) 2/0 1,061 3.06 4.57 0.24

P + (11)+ (12)+ (13)+ R 2/0 1,061 3.06 4.57 0.25

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 3/0 143 4.35 4.57 0.16

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 3/0 143 4.35 4.57 0.17

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 3/0 1,539 5.93 4.57 0.17

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 3/0 1,539 5.93 4.57 0.16

2.1 P 2/0 130 3.06 3.36 0.16

P + (11)+ (12)+ (13) 0/0 2 − 3.36 0.16

P + (11)+ (12)+ (13)+ R 0/0 2 − 3.36 0.16

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 0/0 4 − 3.36 0.18

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 0/0 4 − 3.36 0.18

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 0/0 8 − 3.36 0.18

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 0/0 8 − 3.36 0.17

m Model tl/om time gap gap LR time LR

(b) Results aggregated by the values of m

20 P 9/0 230 11.51 9.58 0.19

P + (11)+ (12)+ (13) 3/0 1,820 5.11 9.58 0.21

P + (11)+ (12)+ (13)+ R 3/0 1,820 5.11 9.58 0.21

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 5/0 79 5.42 9.58 0.17

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 5/0 79 5.42 9.58 0.18

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 5/0 152 4.94 9.58 0.19

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 5/0 152 4.79 9.58 0.17

25 P 8/0 1,656 6.57 4.09 0.24

P + (11)+ (12)+ (13) 2/0 128 5.87 4.09 0.27

P + (11)+ (12)+ (13)+ R 2/0 128 5.87 4.09 0.27

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 3/0 210 5.88 4.09 0.18

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 3/0 210 5.88 4.09 0.17

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 2/0 1,238 7.32 4.09 0.16

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 2/0 1,478 7.32 4.09 0.18

123

Page 21: Project scheduling with flexible resources: formulation and inequalities

Project scheduling with flexible resources: formulation and inequalities 655

Table 1 continued

m Model tl/om time gap gap LR time LR

30 P 1/0 25 2.70 0.26 0.18

P + (11)+ (12)+ (13) 1/0 11 2.70 0.26 0.20

P + (11)+ (12)+ (13)+ R 1/0 11 2.70 0.26 0.21

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 2/0 30 2.31 0.26 0.17

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 2/0 30 2.31 0.26 0.16

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 2/0 1,237 2.31 0.26 0.16

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 2/0 1,238 2.31 0.26 0.15

Table 2 Results for the instances with three skills per activity (SF = 0.75)

NC Model tl/om time gap gap LR time LR

(a) Results aggregated by the values of NC

1.5 P 6/1 226 5.74 7.54 0.12

P + (11)+ (12)+ (13) 3/0 321 4.21 7.54 0.14

P + (11)+ (12)+ (13)+ R 3/0 319 5.11 7.54 0.14

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 3/0 628 5.96 7.54 0.11

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 3/0 623 5.96 7.54 0.10

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 2/0 1,117 6.31 7.54 0.11

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 2/0 1,111 6.31 7.54 0.10

1.8 P 5/1 730 4.38 5.07 0.11

P + (11)+ (12)+ (13) 1/0 57 3.12 5.07 0.11

P + (11)+ (12)+ (13)+ R 1/0 57 3.12 5.07 0.12

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 2/0 168 5.25 5.07 0.15

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 2/0 166 5.25 5.07 0.19

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 1/0 344 6.25 5.07 0.12

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 1/0 332 6.25 5.07 0.17

2.1 P 5/1 16 5.63 6.42 0.08

P + (11)+ (12)+ (13) 0/0 239 − 6.42 0.07

P + (11)+ (12)+ (13)+ R 0/0 239 − 6.42 0.08

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 0/0 605 − 6.42 0.14

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 0/0 605 − 6.42 0.14

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 1/0 111 3.57 6.42 0.15

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 1/0 111 3.57 6.42 0.15

m Model tl/om time gap gap LR time LR

(b) Results aggregated by the values of m

15 P 6/3 1,238 5.48 14.99 0.07

P + (11)+ (12)+ (13) 0/0 503 − 14.99 0.07

P + (11)+ (12)+ (13)+ R 0/0 502 − 14.99 0.08

123

Page 22: Project scheduling with flexible resources: formulation and inequalities

656 I. Correia et al.

Table 2 continued

m Model tl/om time gap gap LR time LR

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 0/0 1,195 − 14.99 0.19

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 0/0 1,188 − 14.99 0.18

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 1/0 678 3.57 14.99 0.17

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 1/0 663 3.57 14.99 0.18

20 P 7/0 18 5.11 3.04 0.12

P + (11)+ (12)+ (13) 2/0 62 2.70 3.04 0.12

P + (11)+ (12)+ (13)+ R 2/0 61 2.70 3.04 0.13

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 3/0 90 4.26 3.04 0.10

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 3/0 90 4.26 3.04 0.17

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 1/0 822 6.25 3.04 0.12

25 P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 1/0 820 6.25 3.04 0.14

P 3/0 7 5.04 0.99 0.14

P + (11)+ (12)+ (13) 2/0 3 5.18 0.99 0.13

P + (11)+ (12)+ (13)+ R 2/0 3 6.53 0.99 0.13

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 2/0 9 7.81 0.99 0.10

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 2/0 9 7.81 0.99 0.10

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 2/0 7 6.31 0.99 0.08

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 2/0 7 6.31 0.99 0.09

1. There is a clear evidence that a decrease in the skill factor (SF) leads to moreinstances successfully solved.

2. An increase in the network complexity (NC) leads to more easy instances. Thiswas expected because with larger NC the activities have more successors. Thus,the density of the network increases and more w variables can be fixed.It should also be pointed out that this conclusion goes in the direction of what isknown for the RCPSP where exactly the same fact holds.

3. For a fixed number of skills per activity (Tables 1, 2, 3), an increase in m leads toeasier instances. This can be explained by the fact that we are increasing the modi-fied resource strength which naturally leads to easier instances. Note that, with thisrespect, Table 4 is atypical due to the variable number of skills for each activity.

4. It is difficult to make a straightforward comparison among the average CPU timesbecause this average is often computed using a different number of instances (thesuccessful ones). Moreover, in some cases, it was possible to solve more instancesbut at the expense of a large CPU time, so we may find a larger average for somemodel than for other, but more instances being successfully handled by the formerthan by the latter.Nevertheless, in an attempt to draw some conclusion, we compare the average CPUtime for the situations in which all instances were solved. Under such conditions,we can realize that models P + (11) + (12) + (13) and P + (11) + (12) + (13) + Rare the fastest with no relevant distinction between them.

123

Page 23: Project scheduling with flexible resources: formulation and inequalities

Project scheduling with flexible resources: formulation and inequalities 657

Table 3 Results for the instances with two skills per activity (SF = 0.5)

NC Model tl/om time gap gap LR time LR

(a) Results aggregated by the values of NC

1.5 P 2/0 227 1.98 11.67 0.03

P + (11)+ (12)+ (13) 0/0 9 − 11.67 0.03

P + (11)+ (12)+ (13)+ R 0/0 9 − 11.67 0.03

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 0/0 45 − 11.67 0.11

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 0/0 45 − 11.67 0.11

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 0/0 53 − 11.67 0.11

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 0/0 53 − 11.67 0.11

1.8 P 0/0 369 − 10.63 0.03

P + (11)+ (12)+ (13) 0/0 2 − 10.63 0.03

P + (11)+ (12)+ (13)+ R 0/0 2 − 10.63 0.03

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 0/0 33 − 10.63 0.09

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 0/0 33 − 10.63 0.09

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 0/0 106 − 10.63 0.08

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 0/0 107 − 10.63 0.08

2.1 P 0/0 3 − 10.32 0.02

P + (11)+ (12)+ (13) 0/0 <1 − 10.32 0.02

P + (11)+ (12)+ (13)+ R 0/0 <1 − 10.32 0.02

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 0/0 1 − 10.32 0.04

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 0/0 1 − 10.32 0.04

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 0/0 1 − 10.32 0.05

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 0/0 1 − 10.32 0.04

m Model tl/om time gap gap LR time LR

(b) Results aggregated by the values of m

10 P 1/0 255 1.92 21.13 0.02

P + (11)+ (12)+ (13) 0/0 7 − 21.13 0.02

P + (11)+ (12)+ (13)+ R 0/0 7 − 21.13 0.02

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 0/0 13 − 21.13 0.06

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 0/0 13 − 21.13 0.06

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 0/0 42 − 21.13 0.06

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 0/0 42 − 21.13 0.06

13 P 1/0 8 2.04 9.89 0.03

P + (11)+ (12)+ (13) 0/0 2 − 9.89 0.03

P + (11)+ (12)+ (13)+ R 0/0 2 − 9.89 0.02

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 0/0 52 − 9.89 0.09

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 0/0 52 − 9.89 0.09

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 0/0 116 − 9.89 0.09

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 0/0 117 − 9.89 0.09

123

Page 24: Project scheduling with flexible resources: formulation and inequalities

658 I. Correia et al.

Table 3 continued

m Model tl/om time gap gap LR time LR

15 P 0/0 325 − 1.6 0.03

P + (11)+ (12)+ (13) 0/0 1 − 1.6 0.02

P + (11)+ (12)+ (13)+ R 0/0 1 − 1.6 0.03

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 0/0 14 − 1.6 0.09

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 0/0 14 − 1.6 0.08

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 0/0 2 − 1.6 0.09

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 0/0 2 − 1.6 0.08

5. Regarding the different sets of inequalities considered for enhancing model P ,we can observe that no particular model was always the best i) in terms of thenumber of instances successfully solved, ii) in terms of the final gap for the unsuc-cessful instances, and iii) regarding the CPU time required to solve the instancessuccessfully solved.Nevertheless, it is worth noting that out-of-memory errors only occurred whenusing model P . Accordingly, a clear benefit is achieved by enhancing this model.In fact, using all enhancements considered for P , the unsuccessful instances regardinstances that were not solved after 5 h, which could eventually be solved if moretime had been given to the solver.

6. In the set of instances generated, the reduction test did not contribute to an improve-ment, which can be explained by the simplicity of the procedure proposed forobtaining upper bounds to the problem. By construction, the reduction test isextremely sensitive to the quality of the upper bounds. Nevertheless, its poten-tial may be revealed with refined upper bounds.

7. For the unsuccessful instances, the final gaps, when the time limit of 5 h wasachieved, can be considered fairly high which is an evidence of the difficulty insolving this problem.

8. Regarding the linear relaxation of model P and its enhancements, we observe that:• The inclusion of the additional inequalities did not lead to an improvement in

the linear relaxation gap.• The lower bound provided by the linear relaxation seems to be much more sen-

sitive to a variation to the number of resources than to the NC.• A large gap for the lower bound provided by the linear relaxation does not nec-

essarily mean that we are facing a more difficult instance. In fact the largestgaps were achieved in the instances with two skills and ten resources (m = 10in Table 3(b). Nevertheless, all instances were solved. The smallest gaps can befound in Table 1(b) for m = 30. In this case, several instances were not solvedwithin the time limit even with additional inequalities.• There is evidence that the linear relaxation gaps increase with a decrease in

the number of skills. In fact, when we move from Tables 1 to 3 we observe aprogressive increase in these gaps.• In all instances and independently from the model considered, the linear relax-

ation was solved within half second.

123

Page 25: Project scheduling with flexible resources: formulation and inequalities

Project scheduling with flexible resources: formulation and inequalities 659

Table 4 Results for the instances with a variable number of skills per activity (expected SF = 0.75)

NC Model tl/om time gap gap LR time LR

(a) Results aggregated by the values of NC

1.5 P 4/2 2,414 10.60 8.14 0.14

P + (11)+ (12)+ (13) 4/0 51 4.38 8.14 0.14

P + (11)+ (12)+ (13)+ R 4/0 51 4.42 8.14 0.14

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 4/0 717 5.08 8.14 0.15

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 4/0 715 5.08 8.14 0.15

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 4/0 643 5.52 8.14 0.14

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 4/0 645 5.52 8.14 0.14

1.8 P 5/1 1,434 3.88 6.33 0.10

P + (11)+ (12)+ (13) 1/0 880 2.27 6.33 0.11

P + (11)+ (12)+ (13)+ R 1/0 880 2.27 6.33 0.10

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 1/0 363 2.27 6.33 0.15

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 1/0 364 2.27 6.33 0.15

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 1/0 944 2.27 6.33 0.13

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 1/0 943 2.27 6.33 0.16

2.1 P 3/1 64 4.89 7.27 0.09

P + (11)+ (12)+ (13) 0/0 140 − 7.27 0.08

P + (11)+ (12)+ (13)+ R 0/0 139 − 7.27 0.08

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 0/0 224 − 7.27 0.16

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 0/0 225 − 7.27 0.16

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 0/0 219 − 7.27 0.15

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 0/0 219 − 7.27 0.17

m Model tl/om time gap gap LR time LR

(b) Results aggregated by the values of m

15 P 4/1 3,125 5.92 16.79 0.07

P + (11)+ (12)+ (13) 0/0 50 − 16.79 0.06

P + (11)+ (12)+ (13)+ R 0/0 50 − 16.79 0.06

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 0/0 553 − 16.79 0.20

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 0/0 552 − 16.79 0.19

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 0/0 519 − 16.79 0.16

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 0/0 521 − 16.79 0.17

20 P 6/3 6 7.66 4.64 0.13

P + (11)+ (12)+ (13) 4/0 463 3.56 4.64 0.14

P + (11)+ (12)+ (13)+ R 4/0 462 3.60 4.64 0.13

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 4/0 451 4.26 4.64 0.16

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 4/0 452 4.38 4.64 0.18

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 4/0 566 4.70 4.64 0.15

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 4/0 566 4.70 4.64 0.20

123

Page 26: Project scheduling with flexible resources: formulation and inequalities

660 I. Correia et al.

Table 4 continued

m Model tl/om time gap gap LR time LR

25 P 2/0 1,124 4.05 0.31 0.13

P + (11)+ (12)+ (13) 1/0 639 5.56 0.31 0.13

P + (11)+ (12)+ (13)+ R 1/0 639 5.56 0.31 0.12

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16) 1/0 254 5.56 0.31 0.10

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ R 1/0 254 5.56 0.31 0.12

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18) 1/0 694 5.56 0.31 0.10

P + (11)+ (12)+ (13)+ (14)+ (15)+ (16)+ (18)+ R 1/0 694 5.56 0.31 0.10

As an additional remark to the analysis of Tables 1, 2, 3, and 4 we point out thatfor all the instances and for all models the solver was always able to find a feasiblesolution.

One additional aspect that can be analyzed regards the impact of the numberof skills per resource. First recall that in every instance of the problem we haveresources with a different number of skills (1, 2, or 3). Accordingly, in order toanalyze the mentioned aspect, we sorted all the instances non-increasingly on theaverage number of skills per resource, and we analyzed the impact of these averagevalues in the linear relaxation gap and in the CPU time required. No pattern wasobserved. Accordingly, for the instances considered in this computational study, wehave a clear indication that the number of skills per resource has no influence in theresults.

In Table 5, we report the results obtained for two lower bounds: the lower boundprovided by the linear relaxation of P (LR) and a more elaborated lower bound pro-posed by Bellenguez and Néron (2005) which is the adaptation of the bound L B3proposed by Mingozzi et al. (1998) for the RCPSP. In order to compute this lowerbound (which is denoted by LB in Table 5), we built a compatibility graph (see Bel-lenguez and Néron 2005). In order to compute the time windows for the differentactivities, we considered as an upper bound the value of the feasible solution providedby the procedure proposed in Sect. 4. The resulting maximum-weighted stable setproblem in the compatibility graph was solved to optimality using CPLEX 11.0.

In order to get a better insight of the results, in Table 5, we reproduce again thevalues of the lower bounds LR that had already been presented in Tables 1, 2, 3, and 4.We present average results for each value of NC (columns 2–4) and average results foreach value of m (columns 5–7). We do not report on the CPU time required to obtainthe lower bounds because in the case of LR this information can be retrieved fromTables 1, 2, 3, and 4 and in the case of LB the average CPU time was below 0.01 s.

Observing Table 5, we conclude that the lower bound based on L B3 by Mingozziet al. (1998) is always better that the lower bound provided by the linear relaxationof P . The difference is larger when more room exists to improve the lower boundprovided by the linear relaxation. Nevertheless, we can see that there is still room forimprovement, in particular, in the instances with NC=1.5 and in the instances withthe lowest value for m in each set of instances associated with the same number ofskills.

123

Page 27: Project scheduling with flexible resources: formulation and inequalities

Project scheduling with flexible resources: formulation and inequalities 661

Table 5 Average lower boundsobtained with the testedinstances

No. of skills NC gap LR gap LB m gap LR gap LBper activity

1.5 5.99 5.79 20 9.58 7.35

4 1.8 4.57 4.47 25 4.09 4.09

2.1 3.36 1.43 30 0.26 0.26

1.5 7.54 5.12 15 14.99 9.84

3 1.8 5.07 3.99 20 3.04 2.93

2.1 6.42 4.64 25 0.99 0.99

1.5 11.67 4.66 10 21.13 6.29

2 1.8 10.63 4.35 13 9.89 3.41

2.1 10.32 2.30 15 1.60 1.60

1.5 8.14 4.85 15 16.79 5.67

2, 3, 4 1.8 6.33 2.47 20 4.64 4.26

2.1 7.27 2.91 25 0.31 0.31

6 Conclusions and directions for further research

In this paper, we studied a project scheduling problem with flexible resources. We pre-sented a mixed-integer linear formulation for the problem and proposed several typesof additional inequalities. Because some of these inequalities require a valid upperbound on the optimal value of the problem, a heuristic procedure was proposed. Thecomputational experience performed and reported in the paper showed that despitebeing a very complex problem, instances of reasonable size can be solved efficientlywith simple tools. This is a relevant feature, for instance, for practitioners with littleknowledge in more advanced techniques for tackling complex combinatorial optimi-zation problems.

We can summarize as follows the main contributions of this paper:

• A mixed-integer linear programming formulation was proposed for the problem.• Several sets of valid inequalities were analyzed as a mean to enhance the model

proposed and eventually solve it more successfully using a general solver.• A reduction test was conceived in order to reduce the dimension of the model.• A heuristic procedure was proposed for obtaining upper bounds to the optimal value

of the problem in order to be embedded in a set of valid inequalities.• A systematic procedure for generating instances for this type of problem was pro-

posed.

The problem studied in this paper has received little attention in the literature. There-fore, in many aspects, there is much room for improvement. First, it would be importantto find other sets of additional inequalities. One possibility for achieving this is to con-sider alternative formulations to the problem. More room for improvement regardsthe upper bounds. Due to the complexity of the problem, more sophisticated heuris-tic procedures should be designed in order to obtain high-quality feasible solutions.

123

Page 28: Project scheduling with flexible resources: formulation and inequalities

662 I. Correia et al.

Naturally, the above-mentioned aspects could be embedded in a more complex solutionsearch scheme such as a branch-and-cut procedure.

Acknowledgments This research has been partially supported by the Portuguese Science Foundation,Projects POCTI-ISFL-1-297 and POCTI-ISFL-1-152. The authors would like to express their gratitude tothe anonymous referees as well as to the Associate Editor for their constructive comments and suggestionswhich led to significant improvements in the paper.

References

Alvarez-Valdés R, Tamarit JM (1993) The project scheduling polyhedron: dimension, facets and liftingtheorems. Eur J Oper Res 67:204–220

Alvarez-Valdes R, Crespo E, Tamarit JM, Villa F (2006) A scatter search algorithm for project schedulingunder partially renewable resources. J Heuristics 12:95–113

Alvarez-Valdes R, Crespo E, Tamarit JM, Villa F (2008) Grasp and path relinking for project schedulingunder partially renewable resources. Eur J Oper Res 189:1153–1170

Applegate D, Cook W (1991) A computational study of job-shop scheduling. ORSA J Comput 3:149–156Baptiste P, Demassey S (2004) Tight LP bounds for resource constrained project scheduling. OR Spectr

26:251–262Bellenguez O, Néron E (2005) Lower bounds for the multi-skill project scheduling problem with hierarchi-

cal levels of skills. In: Practice and theory of automated timetabling V: 5th international conferencePATAT 2004, Pittsburgh, PA, USA, 18-20 Aug 2004, Revised selected papers, pp 229–243. LectureNotes in Computer Science, vol 3616/2005. Springer, Berlin

Bellenguez-Morineau O (2008) Methods to solve multi-skill project scheduling problem. 4OR 6:85–88Bellenguez-Morineau O, Néron E (2006) Genetic algorithms for the multi-skill project scheduling prob-

lem. In: Extended abstracts of the 10th international workshop on project management and scheduling,Poland, 26–28 Apr 2006

Bellenguez-Morineau O, Néron E (2007) A branch-and-bound method for solving multi-skill project sched-uling problem. RAIRO Oper Res 41:155–170

Bellenguez-Morineau O, Néron E, Heurtebise M (2006) Decomposition method for solving multi-skillproject scheduling problem. In: Extended abstracts of the 10th international workshop on projectmanagement and scheduling, Poland, 26–28 Apr 2006

Bertsegas D, Tseng P (1994) RELAX-IV: a faster version of the relax code for solving minimum cost flowproblem. http://web.mit.edu/dimitrib/www/noc.htm

Blazewicz J, Lenstra JK, Rinnooy Kan A (1983) Scheduling subject to resource constraints: classificationand complexity. Discrete Appl Math 5:11–24

Böttcher J, Drexl A, Kolisch R, Salewski F (1999) Project scheduling under partially renewable resourceconstraints. Manage Sci 45:543–559

Brucker P, Knust S, Schoo A, Thiele O (1998) A branch and bound algorithm for the resource-constrainedproject scheduling problem. Eur J Oper Res 107:272–288

Brucker P, Drexl A, Möhring R, Neumann K, Pesch E (1999) Resource-constrained project scheduling:Notation, classification, models and methods. Eur J Oper Res 112:3–41

Carlier J, Néron E (2003) On linear lower bounds for the resource constrained project scheduling problem.Eur J Oper Res 149:314–324

Carlier J, Pinson E (1989) An algorithm for solving the job-shop problem. Manage Sci 35:164–176Christofides N, Alvarez-Valdés R, Tamarit JM (1987) Project scheduling with resource constraints: a branch

and bound approach. Eur J Oper Res 29:262–273Dauzère-Pérès S, Roux W, Lasserre JB (1998) Multi-resource shop scheduling with resource flexibility.

Eur J Oper Res 107:289–305Demassey S (2008) Mathematical programming formulations and lower bounds. In: Artigues C,

Demassey S, Néron E (eds) Resource-constrained project scheduling—models, algorithms, expten-sions and applications, pp 49–62. ISTE, Willey

Dorndorf U, Pesch E, Phan-Huy T (2000) A branch-and-bound algorithm for the resource-constrainedproject scheduling problem. Math Methods Oper Res 52:413–439

123

Page 29: Project scheduling with flexible resources: formulation and inequalities

Project scheduling with flexible resources: formulation and inequalities 663

Hanne T, Nickel S (2005) A multiobjective evolutionary algorithm for scheduling and inspection planningin software development projects. Eur J Oper Res 167:663–678

Hartmann S, Briskorn D (2010) A survey of variants and extensions of the resource-constrained projectscheduling problem. Eur J Oper Res 207:1–14

Heimerl C, Kolisch R (2010) Scheduling and staffing multiple projects with a multiskilled workforce. ORSpectr 32:343–368

Herroelen W, Leus R (2005) Project scheduling under uncertainty: survey and research potentials. Eur JOper Res 165:289–306

Herroelen W, De Reyck B, Demeulemeester E (1998) Resource-constrained project scheduling: a surveyof recent developments. Comput Oper Res 25:279–302

ILOG CPLEX user’s manual (2007) ILOG, Inc., Incline Village, Nevada. http://cplex.ilog.comKlein R, Scholl A (1999) Computing lower bounds by destructive improvement: an application to resource-

constrained project scheduling problem. Eur J Oper Res 112:322–346Kolisch R (1996) Serial and parallel resource-constrained project scheduling methods revisited: theory and

computation. Eur J Oper Res 90:320–333Kolisch R, Hartmann S (1999) Heuristic algorithms for solving the resource-constrained project schedul-

ing problem: classification and computational analysis. In: Weglarz J (ed) Project scheduling: recentmodels, algorithms and applications. Kluwer, Dordrecht, pp 147–178

Kolisch R, Padman R (2001) An integrated survey of deterministic project scheduling. Omega 29:249–272Kolisch R, Sprecher A (1996) PSPLIB—a project scheduling problem library. Eur J Oper Res 96:205–216Kolisch R, Sprecher A, Drexl A (1995) Characterization and generation of a general class of resource-

constrained project-scheduling problems. Manage Sci 41:1693–1703Koné O, Artigues C, Lopez P, Mongeau M (2011) Event-based MILP models for the resource-constrained

project scheduling problem. Comput Oper Res 38:3–13Mellentien C, Schwindt C, Trautmann N (2004) Scheduling the factory pick-up of new cars. OR Spectr

26:579–601Mingozzi A, Maniezzo V, Ricciardelli S, Bianco L (1998) An exact algorithm for project scheduling with

resource constraints based on a new mathematical formulation. Manage Sci 44:714–729Pessan C, Bellenguez-Morineau O, Néron E (2007) Multi-skill project scheduling problem and total pro-

ductive maintenance. In: Proceedings of MISTA 2007, 3rd multidisciplinary international schedulingconference, Paris, France, 28–31 Aug 2007, pp 608–610

Schirmer A (1999) Project scheduling with scarce resources: models, methods, and applications. VerlagDr. Kovac, Hamburg

Zhu G, Bard JF, Yu G (2006) A branch-and-cut procedure for the multimode resource-constrained project-scheduling problem. INFORMS J Comput 18:377–390

123


Recommended