Resource constrained project scheduling with ...

3 downloads 0 Views 1MB Size Report
Resource constrained project scheduling with concave processing rate functions. Daniel W. Steeneck a and Subhash C. Sarin a∗. aGrado Department of ...
January 25, 2014

JORS

2014.01.25*SteeneckSarin

Resource constrained project scheduling with concave processing rate functions Daniel W. Steeneck a and Subhash C. Sarin a∗ a Grado Department of Industrial and Systems Engineering, Virginia Tech, Blacksburg, VA (Received

00 Month 20XX; nal version received 00 Month 20XX)

In this paper, we address a resource constrained project scheduling problem involving a single resource. The resource can be applied at varying consumption rates to the activities of the project. The duration of each activity is dened by a convex, non-increasing time-resource trade-o function. Also, activities are not preemptable (i.e., the resource consumption rate of an activity cannot be altered while the activity is being processed). We explicitly consider variation of the rate at which an activity is performed with variation in resource consumption rate. We designate the number of units (amount of an activity) performed per unit time with variation in resource consumption rate as the processing rate function (PRF), and assume this function to be concave. We present a tree-search-based method in concert with the solution of a nonlinear program and the use of dominance properties to determine: (i) the sequence in which to perform the activities of the project, and (ii) the resource consumption rate to allocate to each activity so as to minimize the project duration (makespan). We also present results of an experimental investigation that reveal the ecacy of the proposed methodology. Finally, we present an application of this methodology to a practical setting.

Keywords: project scheduling; project management; mixed-integer programming; non-linear programming

1.

Introduction, Problem Statement, and Literature Review

We address the following problem in this paper. Given (i) a project N = (R, P), where R is the set of activities in N and P is the set of directed arcs representing the precedence relationships among these activities, (ii) a limited amount of resource for executing the activities of the project, (iii) the duration, d (r ), of activity i ∈ R which is a non-increasing function of the resource consumption rate r of activity i, and (iv) a resource that is continuously divisible and renewable, non-renewable, or doubly-constrained, determine a schedule and the rate at which to apply the resource to the activities such that (i) the activities are not preempted, (ii) the precedence requirements are met, (iii) the resource constraints are not violated, and (iv) the makespan is minimized. The amount of an activity processed per unit time varies with variation in resource consumptionrate. We call this as the processing rate function (PRF). Note that the PRF is the reciprocal of the duration function of an activity. The PRF for activity i is denoted as f (r ). The nature of the PRF determines the rate of decrement in activity duration as a function of resource consumption rate. The convex and concave PRFs indicate rapid and slow decrements, respectively, in activity duration with increment in resource consumption rate. For an S shaped PRF, the activity duration decreases rapidly followed by a slower decrement as resource consumption rate increases. According to the Law of Diminishing Returns, marginal gains in productivity begin to decrease after a certain level of resource allocation (called the point of diminishing returns). This would imply that the PRFs will always be concave above this resource consumption rate. Since our objective is to minimize makespan, given that there is enough resource available, the activities will likely be processed with i

i

i

i

∗ Corresponding author. Email: [email protected]

1

i

January 25, 2014

JORS

2014.01.25*SteeneckSarin

resource consumption rates lying in the concave regions of the PRFs. Additionally, the condition of continuous divisibility of a resource is applicable in many scenarios. Some examples of continuously divisible resources are money and electrical power. A resource such as workers can also be assumed to be continuously divisible if the number of workers available is suciently large so that rounding up or down the number of workers used will not aect the project makespan signicantly. Likewise, if the resource is renewed frequently, it is reasonable to assume the resource to be continuously consumption-rate constrained. We designate our problem as the Continuous Time/Resource Tradeo Problem in the Presence of Concave PRFs (CTRTP-CPRF). Project scheduling problems constitute an important class of problems that have been extensively addressed in the literature. A seminal early work on this topic that has been a cornerstone to many project scheduling approaches is due to Kelley and Walker (1959). They consider a project scheduling problem with the duration of each of its activities dictated by a time-cost trade-o function. They develop the Critical Path Method (CPM) in which the project makespan is determined by the longest (or critical) path through the project. Activities not on the critical path may have resources reallocated to critical path activities to decrease project makespan. A key observation in this regard is that, ideally, all activities should be on the critical path. Building on this concept, many researchers have added to the body of knowledge on project scheduling by developing and solving project scheduling models that incorporate many features encountered in practice. Common features include renewable and non-renewable resource constraints and time-resource and time-cost trade-os for the activities of the project. The

Resource Constrained Project Scheduling Problem

or

RCPSP

is a well-studied project

scheduling problem in which a limited amount of resource is available at each time period. Each activity has a xed resource requirement and duration. Binary-integer programing models for this problem have been proposed by Bowman (1959), Pritsker, Watters, and Wolfe (1969), and Patterson and Huber (1974). Typically, this problem has been solved using branch-and-bound-based methods (Balas et al. (1968), Davis and Heidorn (1971), Hastings (1972), Stinson, Davis, and Khumawala (1978), Talbot and Patterson (1978), Radermacher (1985), Christodes, Alvarez-Valdes, and Tamarit (1987), Bell and Park (1990), Mingozzi et al. (1998), and Demeulemeester and Herroelen (1992)). A dynamic programming approach to solve the RCPSP has been proposed by Carruthers and Battersby (1966). It is natural to explicitly consider time-resource trade-o relationships for the activities of a project since an increment in the allocation of a resource results in the reduction of their durations. Such a relationship will be nonlinear in nature because an activity cannot have a negative processing time as the amount of the resource allocated to it goes to innity. The reduction of project duration with increment in the amount of a resource allocated for its processing is commonly termed

project crashing. Typically, the objective used for the project scheduling problems

whose activities are subject to a time-resource trade-o is to either minimize the project makespan for a given maximum resource consumption (non-renewable resource) or to minimize resource usage for a given project due date. Berman (1964), Elmaghraby (1977), Decrko and Hebert (1989) and Deckro and Hebert (2003) consider this type of a project scheduling problem for the case of continuous time and both linear and convex non-increasing time-resource trade-o functions. The non-linear nature of the time-resource trade-o function contributes to the diculty of solving these problems, and therefore, linear approximations of these functions are commonly used. In the discrete time domain, the problem is called the Discrete Time-Cost Trade-o Problem or DTCTP in which the time-resource trade-o of activities is modeled using activity modes, i.e., resource usage, duration pairs. This problem is known to be NP-hard (De et al. (1997)). Panagiotakopoulos (1977) and Harvey and Patterson (1979) have developed special solution algorithms; however, Elmaghraby (1993) and Demeulemeester and Herroelen (1992) have developed hybrid branch-andbound/dynamic programming-based methods to solve this problem. Some of the most general classes of project scheduling problems include renewable and nonrenewable resource constraints in conjunction with time-resource trade-os, and our problem belongs to this category. The most common version of this class of problems is the Discrete Time-Resource

2

January 25, 2014

JORS

2014.01.25*SteeneckSarin

Trade-o Problem (DTRTP), and the Multi-Mode Resource-Constrained Project Scheduling Problem (MRCPSP), both of which have been shown to be NP-hard (Demeulemeester, De Reyck, and Herroelen (2000)). The DTRTP is a discrete time, single resource constrained project scheduling problem in which the activities of the project can be performed in specic modes. De Reyck, Demeulemeester, and Herroelen (1998) rst develop a heuristic solution method (tabu search) for the DTRTP. A genetic algorithm that outperforms this method is proposed by Ranjbar and Kianfar (2007). The MRCPSP is an extension of the DTRTP in which multiple renewable, nonrenewable, and doubly-constrained resources can be modeled. Both optimal and heuristic solution methods have been developed for this problem. Optimal solutions are determined for the MRCPSP (and thus, for the DTRTP) using branch-and-bound-based methods by Talbot (1982) and Nudtasomboom and Randhawa (1996). Competitive heuristic approaches for the MRCPSP have been developed by Alcaraz, Maroto, and Ruiz (2003) (genetic algorithms), Józefowska et al. (2001) (simulated annealing), Ranjbar, De Reyck, and Kianfar (2007)(hybrid scatter search), Elloumi and Fortemps (2010) (hybrid rank-based evolutionary algorithm), Van Peteghem and Vanhoucke (2009) (articial immune system), Tseng and Chen (2009) (genetic local search algorithm), Lova et al. (2009) (ecient hybrid genetic algorithm), and Peteghem and Vanhoucke (2010) (genetic algorithm), and Weng and Fang (estimation of distribution). Our problem is a special case of the Continuous Time/Resource Trade-o Problem (CTRTP), which is the continuous time analog to the DTRTP. Seyed-Hosseini and Sabzehparvar (2008) have studied the general CTRTP without explicitly considering PRFs. They linearize all duration functions and reformulate the problem as a bin packing problem. The impact of the PRF type on the scheduling strategy has not been explicitly addressed in the project scheduling literature except for the work of W¦glarz (1981) who studied it under two assumptions: (i) the activities of a project are preemptable, i.e., the amount of the resource allocated to an activity can vary with time, and (ii) there exists a xed order of realization times among the activities of the network. We relax both of these assumptions in this paper. However, we consider the case of concave PRFs. Our solution approach for the CTRTP-PRF relies on the following four main ideas. First, we show that independent activities with concave PRFs should be performed in parallel. This result aords elimination of many suboptimal solutions, and this reduction in solution space can be quite signicant depending upon the number of activities for which the result can apply. Second, we develop an additional dominance property, based on a relaxation of the problem, to further eliminate suboptimal solutions. Third, a tree-search-based method, in conjunction with the dominance properties, is used to obtain feasible orderings among activities, which we call sequence digraphs. Fourth, a network-ow-based optimization method is used to determine an optimal allocation of the resource consumption rate to the activities of each sequence digraph, and the best solution is selected. In the remainder of the paper, we rst introduce some preliminary concepts that are germane to our analysis of the problem along with a key dominance property in Section 2. A mathematical model of the problem is presented in Section 3. In Section 4, an additional dominance property is developed based on a relaxation of the problem. The proposed solution method is presented in Section 5. Results of our computational investigation to study the ecacy of the proposed method are presented in Section 6. In Section 7, we present an application of the proposed method to a practical setting. And, nally, some concluding remarks are made in Section 8. 2.

Preliminaries

First, we make a remark regarding the complexity of the CTRTP-CPRF. The CTRTP, in general, is NP hard. Note that a special case of the CTRTP, in which there are no precedence relationships among the activities and fi is a point function ∀i ∈ R, is the bin packing problem. The transformation from the bin packing problem to the CTRTP is as follows. The width and length of a bin are the maximum resource usage rate and project duration, respectively, and the width and length 3

January 25, 2014

JORS

2014.01.25*SteeneckSarin

of a piece to be packed are ri and di , respectively, of activity i ∈ R. However, the complexity of the CTRTP-PRF depends on the nature of the PRFs. If the PRFs are convex, then the problem can be trivially solved by sequencing all the activities in series and performing them at maximum resource consumption rate. If the PRFs are linear, any feasible sequence is optimal. However, if the PRFs are concave then, in general, the problem is NP-hard. A special case of the concave PRF is a step function, fi (ri ) = 0 if ri < vi , and mi if ri ≥ vi . In this case, it is clear that each activity is processed at ri = vi in an optimal solution, and again, we have the bin packing problem, which is NP-hard (Garey et al. 1976). However, in this paper, we are concerned with smooth concave PRFs. In this case, even for the simple project network shown in Figure 1, counter examples can be found to the proposition that an optimal activity sequence can be determined a priori. In fact, except for the case of a project whose activities are sequenced serially, it can be shown that there exist problem instances for which other feasible sequences are optimal. In this sense, the problem is like a resource constrained project scheduling problem, which is NP-hard.

Figure 1. A simple project network

Our solution method for the CTRTP-CRF exploits a key dominance property that results from the precedence relationships among the activities and the nature of their PRFs. In this section, we present the pertinent concepts regarding PRFs, project networks, and independent activities, along with this dominance property.

2.1

Processing Rate Functions

Without loss of generality, we can associate some form of work content with each activity. For instance, this work content may be acres to harvest, number of tiles to lay, or square footage to build. Let zi (t) be the work content of activity i ∈ R completed by time t. Additionally, let t0i and ti be the start and end times of activity i ∈ R, respectively. The resource consumption rate of activity i ∈ R at time t is denoted by ri (t). The rate at which the work is being accomplished is dened by

dzi (t) = dt



fi (ri (t)), if t ∈ (t0i , ti ), 0, otherwise,

(1)

where fi (·) is a non-decreasing, continuous processing rate function for activity i ∈ R, and fi (0) = 0. Also, zi (t0i ) = 0 and zi (ti ) = zi , where zi is the total work content of activity i ∈ R. Since the activities are not preemptable, we have that ri (t) = ri for t ∈ (t0i , ti ). Note that

 zi =

ti t0i

fi (ri )dt ∀i ∈ R.

(2)

Since the resource is renewable and consumption constrained, we have

 ∀i∈R

ri (t) ≤ rumax 

∀t ∈ (t01 , tn ) (Consumption Rate Constraint),

(ti − t0i )ri ≤ rcmax

(Consumption Constraint),

∀i∈R

4

(3) (4)

January 25, 2014

JORS

2014.01.25*SteeneckSarin

where rumax is the maximum resource consumption rate and rcmax is the maximum resource consumption. In view of the Law of Diminishing Returns, the marginal processing rate, dfi (ri )/dri , for i ∈ R, will start to decrease at some resource level, which we designate as ridim . The point (dfi (ridim )/dri , ridim ) is called the point of diminishing returns. If ridim = 0 for this point, then the PRF is concave. In case ridim > rumax , then the PRF is convex. However, if ridim ∈ (0, rumax ), then the PRF is S shaped, i.e., initially, it is convex, and then, it becomes concave and potentially decreasing after ridim . Note that it is always sub-optimal to allocate resources at a level for which the PRF is decreasing. It would be better to keep those resources idle in that case. Therefore, we assume fi (·) to be non-decreasing for our analysis. 2.2

Precedence and Sequence Digraphs

We use a ow-based, activity-on-node network representation to model the problem on-hand. In addition to the precedence digraph, there are the following two other networks that are important for our discussion: accessibility digraph and sequence digraph. Clearly, the precedence structure of a project restricts the way the resource "ows" through the project. The precedence relationships specify the activities that could be immediate successors of a given activity. If an activity j ∈ R is a successor of an activity i ∈ R, then activity j is accessible from activity i. For those activities that are not connected to each other, we connect them by disjunctive arcs to permit ow of the resource, and thus, make the entire network accessible. We call this modied network as the accessibility digraph. For instance, consider the precedence digraph shown in Figure 2. Its accessibility digraph is depicted in Figure 3.

Figure 2. A precedence digraph.

Figure 3. The accessibility digraph of the network in Figure 2.

Figure 4. A possible sequence digraph of the project given in Figure 2.

A sequence digraph for a project represents a possible ordering of the activities (after having selected requisite disjunctive arcs from the accessibility digraph). Thus, each arc (i, j) of a sequence digraph represents a ow-carrying arc from activity i to activity j . One possible sequence digraph for the project of Figure 2 is depicted in Figure 4. In this digraph, activities 1 and 2 are processed in parallel after activity 0. This is followed by the processing of activity 5. Activities 3 and 4 are, then, processed in parallel followed by the processing of activity 6. Note that in the above case, the project is assumed to be processed at the maximum resource consumption rate. However, it is not always optimal, nor even feasible, to perform the entire project at the maximum resource consumption√ rate. To show this, we consider a very simple project consisting of one activity. Let f1 (r1 ) = r1 be the PRF (amount of work completed per hour) of

5

January 25, 2014

JORS

2014.01.25*SteeneckSarin

the activity. Additionally, the maximum resource consumption rate, maximum resource√consumption, is completed in

1/ 10

rcmax = $1.

rumax = $10/hour, and the rumax , then the activity

If we √ perform the project at

hours, and it consumes

1/ 10 × 10 = $3.16

dollars, which, clearly, violates

the resource consumption constraint of $1. On the other hand, we can complete the entire activity feasibly consuming only $1 by nding a feasible solution to the following equation:

1 d1 (r1 )r1 = √ r1 = 1. r1 Clearly, r1 = $1/hour , and the activity is completed in 1 hour, which leaves consumption rate idle.

$9 per hour of resource

Figure 5. Sequence in Figure 4 with by-pass arcs

We can allow resources to stay idle in our model by adding additional ow arcs to the sequence digraph so that resources can by-pass activities. This will allow resource consumption rates to vary across the project. In Figure 5, the sequence given in Figure 4 is shown along with by-pass arcs. These by-pass arcs are between all the predecessors of an activity and that activity. We call this digraph as the sequence and by-pass digraph.

2.3

Independent Activities

The concept of independence among activities is important in our solution procedure. We use Weglarz's (1981) denition of independent activities for activity-on-arc networks to dene independence among activities for activity-on-node networks. In the case of an activity-on-arc network, activities, or parts of activities, are independent if they are performed between the same nodes. For example, consider the precedence digraph in Figure 2 transformed to an activity-on-arc network in Figure 6. The entirety of activities 1 and 2, and the rst parts of activities 3 and 4 are independent activities, designated as set I1 . Also, the entirety of activity 5 and the last parts of activities 3 and 4 are independent activities, designated as set I2 . For our problem, resource levels cannot be altered during the processing of an activity, therefore, we only consider independence among the entirety of activities. Consider a set of activities,

β

(shown in Figure 7). The activities in this set are the

possible successors to the activities in the partial sequence,

If a pair of activities,

subset of activities in

and a common set of predecessors

P recp ,

β,

has a common set of successors,

γ. Sp ,

p,

which is a

p = {1, 2} are indeSp = 6 and P recp = 0.

then that pair of activities is independent. For example, in Figure 7,

pendent, with

Sp = 5

and

P recp = 0,

and

p = {3, 4}

are independent, with

Note that, if no precedence relationships exist in a project, then all the activities are independent. It is important to note that as activities are sequenced, additional independence relationships among the remaining activities may arise. For example, if activities 1 and 2 are sequenced after activity 0 then activity 5 becomes independent with 3 and 4. Following Weglarz (1981), we have the following result if a subset of activities of a project is independent.

Proposition 2.1.

Let Ip be a set of independent activities for some partial sequence of a project, γ , that possess concave PRFs . Then, there exists an optimal solution among all sequences containing γ in which the activities in Ip are processed in parallel.

6

January 25, 2014

JORS

2014.01.25*SteeneckSarin

Figure 7. Precedence digraph with independent activities indicated

Figure 6. Activity-on-arc representation of Figure 2

The proof essentially follows by the fact that the non-preemptive case is a special case of the preemptive case. Therefore, the only deviation of the worst ordering, in which the activities are performed in series (see Weglarz (1981)), that is possible for the non-preemptive case is to process the activities in parallel. 3.

Model Formulation of CTRTP

In our ow-based network representation that is used to model the problem, the resource consumption rate ows through the project network from one activity to another. For the renewable resource assumed here, the resource consumption rate remains xed throughout the duration of the project, and it is allocated to dierent activities, which is represented by ows. Therefore, at any cross-section of the network, the total of resource consumption rates allocated to dierent activities is the same. The decision variables are: (i) selection of ow-carrying disjunctive arcs from the accessibility matrix, thus dening a sequence in which to process the activities, and (ii) the amount of ow on each of the conjunctive and selected disjunctive arcs. These variables specify each activity's order and processing time, and hence, the project completion time. The resource usage constraint is enforced by permitting the maximum resource consumption rate, and by ensuring that ow-in is equal to ow-out at every node (activity). Additionally, no two-way ow is allowed between a pair of activities. The accessibility matrix ensures the desired precedence relationships among the activities. Additional resources may not be assigned to an activity once its operation has begun. Consider the following notation. Parameters and Decision Variables

Parameters N (R, P )

A(i) B(i) 0, n rumax rcmax di (r) M

Project network consiting of a set of activities, R, and a set of arcs, where P contains accessibility and by-pass arcs along with the given set of precedence arcs among the activities in R. Set of activities of N that are accessible from activity i ∈ R. Set of activities of N from which activity i ∈ R is accessible. Indices of the rst (source) and the last (sink) activities in R, respectively, where

P,

n = |R|.

Maximum resource consumption rate. Maximum resource consumption. Duration of activity i ∈ R if the resource consumption rate assigned for its processing is r. A positive number larger than all possible makespan values for the problem instance considered. 7

January 25, 2014

JORS

2014.01.25*SteeneckSarin

Decision Variables

ti rij

xij

completion time of activity i ∈ R. amount of resource consumption rate that ows from activity i ∈ R to activity j ∈R ∀(i, j) ∈ P . 1, if ow occurs on (i, j), (i, j) ∈ P, = 0, otherwise.

First, we consider the doubly-constrained problem that includes both allowable resource consumption rate and total resource consumption constraints. A model formulation for this problem is given as follows, and it is designated as CTRTP.

Model CTRTP: minimize subject to:

(5)

tn t j − ti ≥ d j 

 

 rkj xij − M (1 − xij )

∀i ∈ B(j), j ∈ R\{0},

(6)

k∈B(j)

r0j = rumax ,

(7)

rin = rumax ,

(8)

j∈A(0)



i∈B(n)



rij =

i∈B(j)





rji

(9)

∀j ∈ R,

(10)

i∈A(j)

rij > 0

i∈B(j) n 

∀j ∈ R\{0, n},



⎣d j

j=1

  i∈B(j)

 rij ·





(11)

rij ⎦ ≤ rcmax ,

i∈B(j)

rij ≤ rumax xij

∀(i, j) ∈ P,

xij ≤ (1 − xji )

∀(i, j) ∈ P,

t0 = 0, rij ≥ 0

∀(i, j) ∈ P.

(12) (13) (14) (15)

The constraint set (6) ensures that the completion time of an activity j , j ∈ R\{0}, is greater than or equal to its processing time plus the completion time of its predecessors. The constraints sets (7) to (9) are ow-balance constraints and maintain conservation of ow through the network, and thus, ensure the permissible resource consumption rate. In order to ensure that each activity is processed, constraint set (10) requires that they have positive entering resource ows. Constraint (11) maintains allowable resource consumption. The constraint set (12) ensures that if no ow occurs between activities (i, j), then rij = 0. The constraint set (13) prohibits a two-way ow between a pair of activities. The constraint set (14) arbitrarily assigns the completion time of the source node to zero, while the constraint set (15) enforces non-negative ows on each pair of activities, (i, j) ∈ P .

8

January 25, 2014

JORS

2014.01.25*SteeneckSarin

The values of variables xij , (i, j) ∈ P determine the sequence in which to perform the activities of the project. In particular, arcs (i, j) ∈ P with xij = 1 are the ow carrying arcs. If the sequence for a project is known, i.e, the values of variables xij , (i, j) ∈ P are known a priori, then the CTRTP reduces to only a ow determination problem and its model, designed as model CTRTPSRF (CTRTP with sequence relations xed), is as follows, where F is the set of ow carrying arcs.

Model CTRTP-SRF:

{minimize tn

subject to

tj − ti ≥ dj

 

 rkj , ∀i ∈ B(j), j ∈ R\{0};

k∈B(j)

(7) − (11), (14) − (15);

and rij = 0, (i, j) ∈/ F }.

Note that, although xij = 1, rij may still be zero if having a ow between activities i and j is sub-optimal. In the case of renewable resources, resource ows are enforced. The by-pass arcs are not required since it is obviously optimal to utilize the full resource consumption rate during the project's entire duration. We designate this as the Continuous Time Resource Trade-o Problem with Renewable Resources(CTRTP-RR). Its formulation is model CTRTP with constraint (11) relaxed and no bypass-arcs in P, as follows:

Model CTRTP-RR {minimize t

n

subject to (6) − (10),

(12) − (15)}.

In case we impose only the consumption constraint, then resource ows need not be modelled since the resource consumption rate is not constrained. We call this as the Continuous Time Resource Trade-o Problem with Consumption Constrained Resources,CTRTP-CCR, and its formulation is as follows:

Model CTRTP-CCR:

minimize subject to:

(16)

tn tj − ti ≥ dj (rj ) n 

∀(i, j) ∈ P,

(18)

di (ri )ri ≤ rcmax ,

i=1

t0 = 0, 0 ≤ ri ≤ rumax ,

(17)

i = 1 · · · n.

(19) (20)

The CTRTP-CCR is also a relaxation of CTRTP since: (i) resource-rate ows are relaxed, (ii) precedence constraints are observed, and (iii) there is a maximum resource consumption enforced. CTRTP-CCR is a relaxation of CTRTP-RR as well if we let rcmax equal the total resource consumption of some feasible solution to CTRTP, i.e., rcmax = rumax t , where t is the makespan of a feasible solution to CTRTP. Note that an increment and a decrement in rcmax will result in a decrement and increment in tn , respectively. In other words, an increment in the resource consumption allowed for the project decreases makespan, and likewise, a reduction in the resource consumption allowed for the project increases makespan. In our case, all the activities of a project have concave PRFs, and we represent this by using CTRTP' in our model designations.

9

January 25, 2014

JORS

4.

2014.01.25*SteeneckSarin

Relaxation-based Dominance Property

Our proposed procedure for the solution of CTRTP' is a tree-search-based method that constructs partial sequences depicted by its search tree nodes (STNs) beginning with dummy activity 0. A partial sequence, corresponding to a STN η, is dened by: (i) a connected digraph γ of a subset of activities of R, including 0, where the arcs represent the processing order of the activities, and (ii) a subset τ of tail activities, from which further STNs will emanate to capture the processing orders of remaining activities (see Figure 9). Let β be the digraph consisting of activities from P that have not yet been sequenced. Let δ be those activities in β that have at least one predecessor in γ\τ . Also, let h be the set of arcs between τ and β . For example, let P be the precedence digraph given in Figure 8 and let η be the STNs dened by γ = {{0, 1, 2, 3, 4}; {(0, 1), (0, 2), (1, 3), (2, 4)}} and τ = {3, 4}. It follows that β = {{5, 6, 7, 8}; {(5, 8), (6, 8), (7, 8)} and h = {{3, 5}, {4, 5}}. Note that δ = {6, 7}. These constructs are depicted in Figure 9, where the dashed and solid arcs are used to represent the activities that have been ordered and the arcs from P , respectively. Note that, at η, the processing of activities in δ can begin only after some activity in τ has completed processing. Let Pη be a precedence digraph constructed by γ ∪ β ∪ h. Let ei, i ∈ τ , be the set of arcs between activity i ∈ R and each activity in δ, and Pη,i = Pη ∪ ei, i ∈ τ . By constructing Pη,i for all i ∈ τ , we consider all possible precedence relationships between activities in τ and δ as any activity in δ is permitted to begin processing after any activity in τ is completed. We seek a condition under which a STN corresponding to a partial solution can be fathomed. Let t∗ be the makespan of an incumbent solution. The maximum possible resource consumption of the incumbent solution is found by simply multiplying the maximum resource consumption rate, rumax by t∗ . Let CTRTP'-CCR(P , rc) represent the CTRTP'-CCR with precedence digraph, P , and maximum resource consumption, rc. Let t∗η be the optimal makespan for CTRTP' among all the solutions in the sub-tree of the search-tree whose root node is η. Let the minimum of the solutions to CTRTP'-CCR(Pη,i, rumaxt∗ ) ∀i ∈ τ and CTRTP'-CCR(Pη,i , rumaxt∗η ) ∀i ∈ τ be denoted by tˆη and tˆη , respectively. Next, in Proposition 4.1, we show that if tˆη ≥ t∗ , then t∗η ≥ t∗. As a result of this property, if the makespan of the relaxed problem at a STN is inferior to the makespan of the incumbent solution, then that STN can be fathomed since all the solutions generated from that node will be dominated by the incumbent solution. Next, we formally state and prove this proposition. Figure 11 presents pertinent denitions and a pictorial representation of these concepts.

Figure 8. Example precedence digraph

Figure 9. An example of sets associated with a partial sequence

Proposition 4.1.

If tˆη

≥ t∗ ,

then t∗ η

Figure 10. An example of a new precedence digraph, Pη associated with Figure 9.

≥ t∗ .

10

January 25, 2014

JORS

2014.01.25*SteeneckSarin

We prove the result by contrapositive argument by showing that if t < t , then tˆ < t . Specically, we demonstrate that tˆ ≤ tˆ ≤ t < t , if t < t . Let S be an optimal solution to the sub-tree with root node η. The upper-bound resource consumption required to process S is ru t . Note that, for some P , i ∈ τ , S is a feasible solution. Also note that, tˆ ≤ t since: (i) CTRTP'-CCR relaxes the resource usage rate constraint (conservation of ow constraints), (ii) t is an upper bound resource consumption for solutions to the sub-tree with root node η , and ru (iii) for some P , i ∈ τ , S is not violated. Also, since t ≤ t , it must be that tˆ ≤ tˆ because tˆ is determined for a larger amount of resource (ru t ) than for which tˆ is determined (ru t ). Therefore, t < t , and the result follows. Proof.

η

∗ max η

η,i

∗ max η

∗ η



∗ η



∗ η

∗ η



∗ η

max





∗ η



η

 η



η

 η

∗ η

η,i

∗ η

 η

 η

∗ η

∗ η

∗ max η

η

Figure 11. Concepts pertinent to search tree node fathoming conditions

Remark. Note that tˆ is not necessarily a lower bound for η in general. However, if for search tree node η, t ≤ t , then tˆ will be a lower bound for η. Along the same lines, tˆ computed at the root node of the search tree is a lower bound on the optimal solution to CTRTP'. Moreover, tˆ will increase if less resource consumption is allowed for CTRTP'-CCR. Thus, as our incumbent solution improves (decreases), the value of the lower bound computed at the root node based on this solution will increase. Furthermore, with improved incumbent solution, we can reapply Proposition 4.1 to possibly fathom additional STN. ∗ η



η

η

η

η

5.

Optimum Seeking Method for the Solution of CTRTP'

The optimum seeking method that we propose for the solution of CTRTP' is a tree-search-based method. It systematically performs implicit enumeration over all possible sequence digraphs of a given project network, and then, selects the sequence digraph whose optimal resource allocation gives the smallest makespan. The ecacy of this method is enforced by the use of the dominance properties given in Propositions 2.1 and 4.1. An initial incumbent solution is obtained by solving CTRTP'-SRF for F = P . Overview of the Proposed Method

5.1

Let t be the makespan of the incumbent solution, which is initially obtained by solving CTRTP'SRF for P . All subsequent STNs, from the root node, are generated. For each of these STNs, we compute tˆ . A STN is fathomed if the conditions of ˆProposition 4.1 apply. If the STN is not fathomed, it is added to a list η¯ in the ascending value of t . The STNs in list η¯ are searched depth rst, where the leaf of the tree is a complete sequence digraph. The optimal resource allocation and makespan for each leaf node are obtained by solving CTRTP'-SRF and the incumbent solution, ∗

η

η

11

January 25, 2014

JORS

t∗ ,

2014.01.25*SteeneckSarin

is updated accordingly. At each STN, we check for independent activities, and fathom STNs

according to Proposition 2.1. Due to computational expense,

tˆη

is not computed at each STN during

the depth-rst search routine. The owchart for the method is presented in Figure 12. Figure 13 presents the depth-rst search subroutine, which is called by Block A in Figure 12.

Figure 12. Flow chart of the overall proposed optimum seeking algorithm (breadth-rst and depth-rst hybrid)

5.2

Branch Generation

η , branches are generated according to the activities which are accessible from each τ . Let ai be the set of accessible activities to activity i ∈ τ . If we let yi be the activities whose predecessors are sequenced in η , and si be the activities which are immediate successors to τ in the precedence digraph, then ai = yi ∪ si and, note that, yi and si may not be disjoint. A branch th position corresponds to a set of ows from η is specied by an n-tuple, where n = |τ | and the i from i ∈ τ to some subset of ai . Once one branch is created for an activity in yi , that activity does not remain accessible to other activities as it is considered sequenced. However, an activity j ∈ si not in yi , can still be accessed from subsequent activities, since not all the predecessors of j have been sequenced in η and j At a STN activity in

12

January 25, 2014

JORS

2014.01.25*SteeneckSarin

Figure 13. Flow chart of depth-rst subroutine (Block A in Figure 12) remains accessible. If a ow is not allowed from the activities in

τ

to all the activities in

si ,

then

some feasible sequence digraphs are not considered.

5.3

Sequence Digraph Equivalence

Note that many sequence digraphs can be fathomed due to sequence equivalence. Clearly, changing the order in which the activities are processed in series will not aect project makespan. Therefore, sequence digraphs, which are identical except for the ordering of serial activities, are equivalent. For example, the sequence digraph given in Figures 14 and 15 are equivalent, and only one of these needs to be considered.

6.

Computational Investigation

Our computational investigation aims to demonstrate the ecacy of the proposed tree-search-based method (TSM). To that end, we compare its performance with that of: (i) a basic tree-search method

13

January 25, 2014

JORS

2014.01.25*SteeneckSarin

Figure 14. A possible sequence in which activities 1 and 2 are processed in series

Figure 15. A sequence equivalent to that in Figure 14 with activities 1 and 2 processed in series but not consecutively

in which no dominance properties are exploited (designated basic tree-search method, BTSM), and (ii) an enumeration method which only exploits the results of Proposition 2.1 (designated as P1TSM). We also investigate the quality of the lower bound generated at the root node. Finally, we show the eectiveness of the TSM when applied to large-sized project networks. In all problem instances, we assume the resource to be renewable with

λ(1 − e−(r/β) ), α

where

λ

rumax = 1000.

the scale parameter related to resource consumption-rate, and problem instances,

The PRFs are of the form

β is α is the shape parameter. In all λ and α are randomly generated.

is the scale parameter associated with work content of the activity,

λ ∈ (0, 1), β = 2000,

and

α ∈ (0.4, 1),

where

All solution methods are coded using C++ with calls to SNOPT to solve the nonlinear resource allocation problem. The problem instances are solved on a Dell Optiplex 980 with a 3 Ghz processor and 8 Gb of memory.

6.1

Performance of the proposed tree-search-based method

In general, factors that aect the complexity of a project scheduling problem include network size and network structure. We use order strength (OS) as a measure of network complexity, which, for activity-on-node networks, is the ratio of the number of arcs in the precedence graph and the number of precedence arcs for a complete graph. To generate our network instances, we used the random project network generator RanGen 1 (Demeulemeester, Dodin, and Herroelen 1993). We performed tests on networks with 6, 7, 8, and 9 activities and OS values of 0.2, 0.5, and 0.8. Due to the intractability of the BTSM at 0.2 OS, only networks of 6 and 7 activities were considered (most problem instances require less than 2 hours of CPU time). Ten instances were generated for each combination of activity size and OS, except for the 6 activity and 0.2 OS case for which only nine instances exist. The results are presented in Table 1. Note that the results are organized by network density, and then, network size (see columns 1 and 2).

Table 1. Comparison of TSM and P1TSM against BTSM

Network Density Number of Activities t (BTSM) t(P1TSM) t(TSM) % ΔtP 1T SM %ΔtT SM 6 53.7 10.9 2.0 79.8 96.3 0.2 OS 7 2422.3 452.4 45.8 81.3 98.1 6 2.1 0.8 0.4 61.9 81.0 0.5 OS 7 21.3 14.2 5.7 33.3 73.2 8 423.6 188.2 30.6 55.6 92.8 9 15153.0 7059.4 4463.7 53.4 70.5 6 0.0 0.0 0.0 0.0 0.0 7 0.1 0.2 0.1 -100.0 0.0 0.8 OS 8 0.5 0.3 0.3 40.0 40.0 9 4.4 3.6 2.6 18.2 40.9 BTSM: Basic Tree-Search Method P1TSM: Tree Search Method exploiting only Proposition 2.1 TSM: Tree Search Method exploiting both Propositions 2.1 and 4.1 t: Average CPU Time (seconds) %ΔtP 1T SM and %ΔtT SM : Percent reductions in CPU times between BTSM and P1TSM and BTSM and TSM Both P1TSM and TSM achieve several fold reductions in CPU time over BTSM (see Table 1,

14

January 25, 2014

JORS

2014.01.25*SteeneckSarin

columns 6 and 7). As an example, for the 7 activity, 2 OS case, 81.3 and 98.1 percent reductions in CPU time over the BTSM method are achieved for the P1TSM and TSM methods, respectively. However, TSM provides the maximum reduction in CPU times for all problem instances (see Table 1, column 7). The dominance of P1TSM over BTSM and TSM over P1TSM alludes to the eectiveness of each dominance property. In general, the CPU times increase with increment in network size (see Table 1, columns 3, 4, and 5 for each OS) and decrement in OS (see Table 1, columns 3, 4, 5 for number of activities 6 and 7 and all OS values). Additionally, reductions in CPU time over BTSM increase for both P1TSM and TSM with decrement in OS.

6.2

Quality of lower-bound at the root node

A lower bound for CTRTP' is obtained by calculating tˆη at the root node, and it serves to determine the optimality gap of a given solution. The closer the lower bound is to the optimal solution, the smaller is the optimality gap, and therefore, the closer it is to the actual gap between a given solution and the optimal solution. Table 2 presents percent dierence between the lower bound at the root node and the optimal solution for all ten instances of the network density 0.5 OS and number of activities 6,7, 8, and 9 investigated in Section 6.1. Table 2. Percent gap between lower bound at root node and optimal solution values

Number of Activities Run

6 1 1.45 2 3.47 3 3.50 4 2.67 5 2.50 6 1.17 7 2.65 8 0.12 9 0.00 10 1.91 Average 1.94 Overall Average

7 0.37 1.31 0.75 4.55 1.92 7.86 1.28 2.77 8.36 3.03 3.22

8 0.23 7.15 3.53 1.28 1.93 2.36 2.52 0.96 0.30 3.08 2.33 2.5

9 0.97 8.12 0.28 1.77 1.66 4.65 0.55 4.10 2.86 0.24 2.52

Note the optimality gaps to be between between 0 percent (6 activities, run 9) and 8.36 percent (7 activities, run 9). Additionally, the average optimality gaps do not appear to be correlated with network size. The average optimality gap observed is 2.5 percent.

6.3

Application of TSM to large-sized project networks

We also investigated the ecacy of the TSM for large-sized project networks Since these large-sized problems are dicult to solve, we used a time limit of 500 seconds and observed values of the gap between the solution value obtained by the TSM and the lower bound. Table 3 gives the high, average and low optimality gaps for randomly generated projects of OSs 0.2, 0.5, and 0.8, and 10, 15, 20, 25, 50, 75 and 100 activities. Ten instances were used for each level of number of activities. Referring to Table 3, there does not appear to be a signicant relationship between the size of the opitmality gap and that of the project network size (refer to the last three columns of Table 3) or OS (refer to the last row of Table 3). The average optimality gap is within 12%. Considering an average gap of 2.5% between the lower bound and optimal solution (see section 6.2), the average percent dierence between a solution obtained from the partial enumeration of the TSM and the optimal solution is about 9.5%. However, on , the optimality gap is

maximum

maximum

average

15

January 25, 2014

JORS

2014.01.25*SteeneckSarin

Table 3. Percent optimality gaps for large-sized project networks

No. Activities 10 15 20 25 50 75 100

Low 0.1 1.8 0.1 0.6 1.1 0.8 2.5 1.0

0.2 OS 0.6 OS 0.8 OS Avg. High Low Avg. High Low Avg. High 2.4 8.4 0.1 3.9 12.1 0.2 1.7 3.7 4.8 11.5 1.0 5.8 17.8 0.7 3.6 8.3 2.5 7.5 0.8 4.2 8.0 0.3 2.9 6.4 4.5 8.4 1.1 5.7 11.4 0.5 5.3 10.6 7.4 28.1 1.4 5.0 7.9 1.8 5.2 7.0 5.5 9.8 0.3 5.9 14.2 0.7 6.2 10.5 5.3 12.4 3.2 8.2 14.5 3.6 5.9 7.8 4.2 12.3 1.1 5.0 12.3 1.1 4.4 7.7 Avg. over No. Activities

Avg. over OS Low Avg. High 0.1 2.6 8.1 1.2 5.2 12.5 0.4 3.7 7.3 0.7 4.5 10.1 1.5 4.5 14.3 0.6 5.1 11.5 3.1 6.3 11.6 0.8 4.5 11.6 Overall Avgs.

4.5, which suggests the solution obtained from the partial enumeration of TSM, on =LAH=CA, to be within about 2 percent from optimum. Results were also obtained for the partial enumeration of the BTSM, which resulted overall average values of minimum, average, and maximum optimality gaps of 18.1, 58.5, and 90.8%. 7.

Application of the Proposed Methodology to a Practical Setting

Next, we apply the proposed methodology to a practical setting encountered in naval operations. Suppose a navy has undertaken the operation of searching two areas of an ocean for threats, and then, neutralizing the discovered threats. These areas, designated as Area 1 and Area 2, are known to contain one threat each, but the exact location of each threat is not known. The search (S) and neutralization (N) operations are performed with two dierent autonomous assets, which are launched from a ship. There are two assets of each type. Besides the specic sequence among operations, the only other requirements are that the assets may not be launched or recovered at the same time, and the operations (both search and neutralization) are started in Area 1 before those in Area 2. Each operation requires the following activities: pre-launch (PL), launch (L), operation (O), and recovery (R). The second part of pre-launch (P L2 ) and the rst part of launch (L1 ) can be performed at the same time. We denote a particular operation by OperationT ypeArea# T askT ype. For example, the recovery task of the asset, which searched Area 1, would be S1 R. A precedence digraph of this example is shown in Figure 16. Once an autonomous asset is launched and is performing its operation (O), a crew is required to process and interpret data being streamed back from the asset. All activities are known to have concave PRFs as availability of limited space and tools on the ship only provide a limited gain in processing rate with increment in crew size. This naval operation consists of 24 activities.

Figure 16. The project network for the practical example

The ship's available crew for this mission is 50 sailors. Each sailor can perform any task. The time-resource functions are given in Table 4, where r is the crew size assigned to a task. 16

January 25, 2014

JORS

2014.01.25*SteeneckSarin

Table 4. Duration functions for the practical example (in minutes)

Activity Search

 1/0.2 1 − 0.4  1/0.2 1 − e−(r/100)  0.4 1/0.2 1 − e−(r/100)  0.3 1/0.2 1 − e−(r/100)  0.2 1/0.1 1 − e−(r/100)  0.5 1/0.2 1 − e−(r/100)

P L1 P L2 L1 L2 O R

0.6 e−(r/100)

Neutralize 

0.6  1/0.5 1 − e−(r/100)  0.4 1/0.5 1 − e−(r/100)  0.4 1/0.5 1 − e−(r/100)  0.3 1/0.5 1 − e−(r/100)  0.2 1/0.05 1 − e−(r/100)  0.5 1/0.2 1 − e−(r/100)

We applied the TSM for the solution of this problem with a 500 second CPU time limit. It resulted in an optimality gap of less than 4%. The worker-ows obtained are shown in Figure 17. The activity realization times are depicted in Table 5.

Figure 17. Worker ows for the example solution Table 5. Realization times for the practical example solution

Activity Search 1 Search 2 Neutralize 1 Neutralize 2 P L1 P L2 L1 L2 O R

8.

12.17 24.95 24.95 34.62 53.23 64.83

18.02 34.63 34.63 45.18 64.83 77.31

79.35 93.75 93.75 104.21 123.16 134.88

91.15 105.11 105.11 115.35 134.88 144.74

Concluding Remarks

In this paper, we have addressed a resource constrained project scheduling problem for the case of concave processing rate functions (PRFs). The problem is to determine: (i) the sequence in which to perform the activities of a project, and (ii) the amount of a resource to allocate to each of its activities, so as to minimize the project duration. We assume availability of only one resource type. The activity durations are dened by convex, non-increasing time-resource trade-o functions. Once an amount of the resource has been allocated to an activity, it cannot be varied after the activity has begun processing. We assume a concave PRF (which represents the amount of work accomplished per unit time and is the reciprocal of the duration function) for each activity that varies with the resource consumption rate allocated to it. We have extended the work of W¦glarz (1981) to the case of general project network structures and non-premeptable activities. In particular, we show that, as for the premptable case, if all the independent activities for the non-preemptable case have concave PRFs, then they will be performed in parallel in an optimal solution. This result aords fathoming of dominated solutions. For each non-dominated sequence, the optimal resource allocation is achieved

17

January 25, 2014

JORS

2014.01.25*SteeneckSarin

by using a network ow model. Furthermore, we develop an additional dominance property, based on a relaxation of the model, that is incorporated in the proposed tree-search-based method. We have also presented results of our experimental investigation that depict the ecacy of the proposed treesearch-based method. Both the dominance relationship resulting from the concave PRFs and use of the relaxation-based dominance property are eective in reducing CPU time. We have also applied the proposed tree-search-based method to large-sized activity networks and obtain solutions having average optimality gaps of 4.5%, which are likely within 2% from optimum on average. Finally, we have demonstrated the applicability of the proposed method to a practical setting for naval operations.

References Alcaraz J, Maroto C, and Ruiz R (2003). Solving the multi-mode resource-constrained project scheduling problem with genetic algorithms Journal of the Operational Research Society #"(6): 614626. Balas E, and Carnegie-Mellon University Management Sciences Research Group (1968). Project Scheduling with Resource Constraints . Defense Technical Information Center. Bell CE, and Park K (1990). Solving resource-constrained project scheduling problems by A* search Naval Research Logistics (NRL) !%(1): 6184. Berman E (1964). Resource allocation in a PERT network under continuous activity time-cost functionsManagement Science (4): 734745. Bowman E (1959). The schedule-sequencing problem Operations Research %(5): 621624. Carruthers J, and Battersby A (1966). Advances in critical path methods Journal of the Operational Research Society %(4): 359380. Christodes N, Alvarez-Valdes R, and Tamarit J (1987). Project scheduling with resource constraints: A branch and bound approach.European Journal of Operational Research '(3): 262273. Davis E, and Heidorn G (1971). An algorithm for optimal solutions in resource-constrained project scheduling with multiple resource constraints Management Science %(12): 803816. De P, Dunne E, Ghosh J, and Wells C (1997). Complexity of the discrete time-cost tradeo problem for project networksOperations Research "#(2): 302306. De Reyck B, Demeulemeester E, and Herroelen W (1998). Local search methods for the discrete time/resource trade-o problem in project networks Naval Research Logistics "#(6): 553578. Deckro RF, and Hebert JE (2003). Modeling diminishing returns in project resource planning Computers and Industrial Engineering ""(1): 19  33. Decrko R, and Hebert J (1989). Resource constrained project crashing Omega International Journal of Management Science %(1): 6979. Demeulemeester E, De Reyck B, and Herroelen W (2000). The discrete time/resource trade-o problem in project networks: a branch-and-bound approach IIE transactions ! (11): 10591069. Demeulemeester E, Dodin B, and Herroelen W (1993). A random activity network generator Operations Research "(5): 972980. Demeulemeester E, and Herroelen W (1992). A branch-and-bound procedure for the multiple resourceconstrained project scheduling problem Management Science !&(12): 18031818. Elloumi S, and Fortemps P (2010). A hybrid rank-based evolutionary algorithm applied to multi-mode resource-constrained project scheduling problem European Journal of Operational Research #(1): 31 41. Elmaghraby S (1977). Activity Networks. New York: Wiley. Elmaghraby S (1993). Resource allocation via dynamic programming in activity networks European Journal of Operational Research $"(2): 199215. Garey MR, Graham RL, Johnson DS, and Yao ACC (1976). Resource constrained scheduling as generalized bin packingJournal of Combinatorial Theory, Series A (3): 257298. Harvey R, and Patterson J (1979). An implicit enumeration algorithm for the time/cost tradeo problem in project network analysisFoundations of Control Engineering "(2): 107117. Hastings N (1972). On resource allocation in project networks Operational Research Quarterly !(2): 217 221. Józefowska J, Mika M, Ró»ycki R, Waligóra G, and W¦glarz J (2001). Simulated annealing for multi-mode resource-constrained project scheduling Annals of Operations Research  (1): 137155.

18

January 25, 2014

JORS

2014.01.25*SteeneckSarin

Kelley J, and Walker M (1959). Critical path planning and scheduling In Eastern Joint Computing Conference 16, 160172. Lova A, Tormos P, Cervantes M, and Barber F (2009). An ecient hybrid genetic algorithm for scheduling projects with resource constraints and multiple execution modes International Journal of Production Economics %(2): 302  316. Mingozzi A, Maniezzo V, Ricciardelli S, and Bianco L (1998). An exact algorithm for the resource-constrained project scheduling problem based on a new mathematical formulation Management Science ""(5): 714 729. Nudtasomboom N, and Randhawa S (1996). Resource-constrained project scheduling with renewable and non-renewable resources and time-resource tradeos Computers and Industrial Engineering ! (1): 227 242. Panagiotakopoulos D (1977). A CPM time-cost computational algorithm for arbitrary activity cost functionsINFOR #(2): 183195. Patterson J, and Huber W (1974). A horizon-varying, zero-one approach to project scheduling Management Science (6): 990. Peteghem VV, and Vanhoucke M (2010). A genetic algorithm for the preemptive and non-preemptive multimode resource-constrained project scheduling problem European Journal of Operational Research (2): 409  418. Pritsker A, Watters L, and Wolfe P (1969). Multiproject scheduling with limited resources: a zero-one programming approachManagement Science $(1): 93. Radermacher F (1985). Scheduling of project networks Annals of Operations Research "(1): 227252. Ranjbar M, De Reyck B, and Kianfar F (2007). A hybrid scatter search for the discrete time/resource trade-o problem in project scheduling European Journal of Operational Research '!(1): 3548. Ranjbar M, and Kianfar F (2007). Solving the discrete time/resource trade-o problem in project scheduling with genetic algorithmsApplied Mathematics and Computation '(2): 451456. Seyed-Hosseini S, and Sabzehparvar M (2008). A mathematical model for the continuous time/resource trade-o problemKuwait Journal of Science and Engineering !#(1): 197215. Stinson J, Davis E, and Khumawala B (1978). Multiple resourceconstrained scheduling using branch and boundIIE Transactions (3): 252259. Talbot FB (1982). Resource-constrained project scheduling with time-resource tradeos: the non-preemptive caseManagement Science &(10): 11971210. Talbot FB, and Patterson JH (1978). An ecient integer programming algorithm with network cuts for solving resource-constrained scheduling problems Management Science "(11): 11631174. Tseng LY, and Chen SC (2009). Two-phase genetic local search algorithm for the multimode resourceconstrained project scheduling problem Evolutionary Computation, IEEE Transactions on !(4): 848857. Van Peteghem V, and Vanhoucke M (2009). An articial immune system for the multi-mode resourceconstrained project scheduling problem In Evolutionary Computation in Combinatorial Optimization, 8596. Springer. W¦glarz J (1981). Project scheduling with continuously divisible, doubly constrained resources Management Science %(9): 104053.

'