an iterated-local-search heuristic for the resource-constrained weighted earliness-tardiness project...
TRANSCRIPT
This article was downloaded by: [Queensland University of Technology]On: 06 November 2014, At: 18:09Publisher: Taylor & FrancisInforma Ltd Registered in England and Wales Registered Number: 1072954 Registeredoffice: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK
International Journal of ProductionResearchPublication details, including instructions for authors andsubscription information:http://www.tandfonline.com/loi/tprs20
An iterated-local-search heuristic forthe resource-constrained weightedearliness-tardiness project schedulingproblemFrancisco Ballestín a & Norbert Trautmann ba Departamento de Estadística e Investigación Operativa ,Universidad Pública de Navarra , Campus Arrosadía s/n, 31007Pamplona, Spainb Departement Betriebswirtschaftslehre , Universität Bern ,Schützenmattstrasse 14, 3012 Bern, SwitzerlandPublished online: 02 Oct 2008.
To cite this article: Francisco Ballestín & Norbert Trautmann (2008) An iterated-local-searchheuristic for the resource-constrained weighted earliness-tardiness project scheduling problem,International Journal of Production Research, 46:22, 6231-6249, DOI: 10.1080/00207540701420560
To link to this article: http://dx.doi.org/10.1080/00207540701420560
PLEASE SCROLL DOWN FOR ARTICLE
Taylor & Francis makes every effort to ensure the accuracy of all the information (the“Content”) contained in the publications on our platform. However, Taylor & Francis,our agents, and our licensors make no representations or warranties whatsoever as tothe accuracy, completeness, or suitability for any purpose of the Content. Any opinionsand views expressed in this publication are the opinions and views of the authors,and are not the views of or endorsed by Taylor & Francis. The accuracy of the Contentshould not be relied upon and should be independently verified with primary sourcesof information. Taylor and Francis shall not be liable for any losses, actions, claims,proceedings, demands, costs, expenses, damages, and other liabilities whatsoeveror howsoever caused arising directly or indirectly in connection with, in relation to orarising out of the use of the Content.
This article may be used for research, teaching, and private study purposes. Anysubstantial or systematic reproduction, redistribution, reselling, loan, sub-licensing,systematic supply, or distribution in any form to anyone is expressly forbidden. Terms &
Conditions of access and use can be found at http://www.tandfonline.com/page/terms-and-conditions
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
International Journal of Production Research,Vol. 46, No. 22, 15 November 2008, 6231–6249
An iterated-local-search heuristic for the resource-constrained
weighted earliness-tardiness project scheduling problem
FRANCISCO BALLESTINy and NORBERT TRAUTMANN*z
yDepartamento de Estadıstica e Investigacion Operativa, Universidad Publica de Navarra,
Campus Arrosadıa s/n, 31007 Pamplona, Spain
zDepartement Betriebswirtschaftslehre, Universitat Bern, Schutzenmattstrasse 14,
3012 Bern, Switzerland
(Revision received April 2007)
This paper deals with the weighted earliness-tardiness resource-constrainedproject scheduling problem with minimum and maximum time lags(WET-RCPSP/max). The problem consists of scheduling the activities of a projectsubject to prescribed resource and temporal constraints such that the totalweighted deviation of the activities’ completion times from prescribed due datesis minimized. Key applications are planning of just-in-time production andreactive scheduling. For the (approximative) solution of the WET-RCPSP/max,we present a population-based iterated-local-search heuristic. We also report theresults of an experimental performance analysis where this heuristic outperformedstate-of-the-art methods.
Keywords: Reactive scheduling; Just-in-time production; Resource-constrainedproject scheduling; Weighted earliness-tardiness cost; Iterated-local-search
1. Introduction
A project consists of a set of activities which require time and scarce resourcesfor execution and which are connected by minimum and maximum time lags(cf. e.g. Brucker et al. (1999)). In various publications it has been shown howshort-term production planning can be modelled as a resource-constrained projectscheduling problem (cf. e.g. Neumann and Schwint (1997) for the case of make-to-order production in manufacturing industries or Neumann et al. cf. e.g. (2002)for the case of batch production in process industries). In such models, the projectactivities correspond to the processing of jobs or batches on the different machines orprocessing units, respectively. The machines or processing units and the manpowerare represented by the project resources. The vast majority of the correspondingsolution methods deal with the problem of computing a minimum makespanschedule. An overview of state-of-the-art algorithms can be found inDemeulemeester and Herroelen (2002) and Neumann et al. (2003).
In this paper we consider the objective of minimizing the total weighted earliness-tardiness cost. More precisely, we assume that for each activity of the project, a due
*Corresponding author. Email: [email protected]
International Journal of Production Research
ISSN 0020–7543 print/ISSN 1366–588X online # 2008 Taylor & Francis
http://www.tandf.co.uk/journals
DOI: 10.1080/00207540701420560
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
date as well as some earliness and some tardiness cost per unit time are prescribed.The problem is to schedule the activities such that the minimum and maximum timelags and the resource scarcity are observed and the total weighted earliness-tardinesscost is minimized. In short-term production planning, this objective is required formodelling the following planning tasks.
. In a just-in-time environment, the due dates of the project activities arisefrom the due dates of the corresponding customer orders. Early or latefulfilment of customer orders results in (fictitious or real) holding cost andpenalties, which are represented by the earliness and tardiness cost of thecorresponding project activities (Vanhoucke et al. 2001).
. Input data such as processing times or machine and manpower availabilityare often subject to change. As a consequence, the original productionschedule may even become infeasible. In this case, rescheduling is necessary.In order to keep the system nervousness as low as possible, it is often desiredto find a feasible schedule that is ‘as close as possible’ to the original schedule(Herroelen and Leus 2004). To this end, we set the due date of a projectactivity equal to its original completion time (Neumann et al. 2003).
There is a vast literature on machine scheduling with earliness and tardiness costs(see, e.g. Baker and Scudder (1990)). In contrast, only a few methods have beenreported for minimizing the total earliness and tardiness cost of a resource-constrained project. For the case where only precedence constraints betweenactivities are prescribed, Serafini and Speranza (1994a, b) decompose the probleminto a sequencing and a scheduling problem. The sequencing problem is tackled bya shifting bottleneck heuristic, and the scheduling problem is solved as a dualnetwork flow problem. For the same case, Vanhoucke et al. (2001) proposeda branch-and-bound method which exploits the technique of minimum delayingalternatives introduced by Demeulemeester and Herroelen (1992) and whichcomputationally outperforms the method of Serafini and Speranza (1994a, b).Recently, Keri and Kis (2006) sketched a new exact solution method that refinesthe branch-and-bound method of Vanhoucke et al. (2001) by using a primal-dualapproach for efficiently computing lower bounds and constraint propagationtechniques for deriving time windows.
In this paper we discuss the more general case where not only precedenceconstraints, but minimum and maximum time lags between start times of activitiesare prescribed. For this case, a local-search heuristic proposed by Schwindt (2000a)and a branch-and-bound method presented by Schwindt (2000b) are known. Thebasic idea of the branch-and-bound method is to solve the resource relaxation usinga primal-dual approach, and to enumerate the possibilities of iteratively replacing theresource constraints by precedence constraints. According to Schwindt (2005), theperformance of the local-search heuristic is competitive with truncated versions ofthe branch-and-bound method.
Our approach is based on the idea of iterated-local-search (Lourenco et al. 2002)and consists of two phases. In the first phase, we initialize a population of schedulesusing a multi-pass heuristic. In the second phase, we try to find better feasibleschedules by iteratively applying some perturbation and local-search procedures toa randomly selected schedule of this population. Whereas the concept of iterated-local-search is quite general, we tailor the multi-pass heuristic, the perturbation
6232 F. Ballestın and N. Trautmann
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
procedures, and the local-search procedures to the particular project schedulingproblem under study. In an experimental performance analysis, it turned outthat our approach compares favourably with the methods proposed by Schwindt(2000a, b) and Vanhoucke et al. (2001). The new method solves more probleminstances to feasibility and, in general, finds a better feasible solution within a shorteramount of CPU time.
The remainder of this paper is organized as follows. In section 2 we give a formalstatement of the project scheduling problem under study. Our solution approachis presented in section 3. In section 4 we report on the results of the experimentalperformance analysis. Section 5 is devoted to the conclusions and directions forfuture research.
2. Problem statement
Assume that n real activities numbered 1, . . . ; n have to be processed.For convenience, we introduce the fictitious activities 0 and nþ 1 of duration zeroeach, representing the project start and the project completion, respectively.We denote the set of all activities by V :¼ f0; 1, . . . ; nþ 1g. Let pi � 0 be the givenprocessing time or duration and Si � 0 the start time of activity i 2 V. The project hasto be started at time zero and completed by a deadline d, i.e. S0 :¼ 0 and Snþ1 � d.The vector S ¼ ðS0;S1, . . . ;Snþ1Þ is called a schedule. We assume that all activitieshave to be processed without interruption. Thus, if activity i 2 V is started at time Si,it will be completed at time Ci :¼ Si þ pi.
We denote the prescribed due date for activity i 2 V by d i � 0. For a givenschedule S, Ei :¼ maxðd i � Ci; 0Þ is the earliness, and Ti :¼ maxðCi � d i; 0Þ is thetardiness of activity i 2 V. The earliness and tardiness cost per unit time of activityi 2 V is denoted wE
i � 0 and wTi � 0, where we assume that wE
0 ¼ 0 and wT0 ¼ 0.
The objective function f to be minimized expresses the total weighted earliness-tardiness cost, i.e.
f ðSÞ :¼Xi2V
ðwEi Ei þ wT
i TiÞ:
Between the start times of different activities i; j 2 V, a minimum time lag dminij � 0
or a maximum time lag dmaxij � 0 can be prescribed, i.e. Sj � Si þ dmin
ij orSj � Si þ dmax
ij , respectively. In particular, a minimum time lag dminij ¼ pi represents
a precedence relationship between activities i and j. In production scheduling, mini-mum and maximum time lags are needed for modelling, for example, the productstructure, quarantine time and shelf life of intermediates, or release dates of customerorders; details and further applications are discussed by Neumann et al. (2003).
We represent the activities and the minimum and maximum time lags of theproject by an activity-on-node network N. The node set of network N coincideswith the set V of activities of the project. If there is a prescribed minimum timelag dmin
ij between the start times of activities i; j 2 V, we introduce an arc hi; ji withweight �ij :¼ dmin
ij . If a maximum time lag dmaxij between the start times of activities
i; j 2 V has been prescribed, we introduce an arc h j; ii and put �ji :¼ �dmaxij .
6233Weighted earliness-tardiness project scheduling
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
We denote the arc set of network N by E. The temporal constraints can thenbe written as
Sj � Si � �ij ðhi; j i 2 E Þ;
S0 :¼ 0; Snþ1 � d: ð1Þ
For carrying out the project activities, a set R of renewable resources is required.With Rk>0 we denote the capacity of resource k 2 R available. Let rik � 0 withrik � Rk be the amount of resource k 2 R used by activity i 2 V. We assumer0k :¼ rnþ1;k :¼ 0 for all resources k 2 R. For a given schedule S and a given pointin time t � 0, AðS; tÞ :¼ fi 2 V j Si � t < Si þ pig is the set of activities in process attime t. Then the amount of resource k 2 R used at time t � 0is rkðS; tÞ :¼
Pi2AðS;tÞ rik. At each point in time, the usage of every resource k 2 R
must not exceed the capacity available; this leads to the resource constraints
rkðS; tÞ � Rk ðk 2 R; t � 0Þ: ð2Þ
A schedule S that fulfills constraints (1) and (2) is termed a feasible schedule.A schedule S � is called an optimal schedule if S � is feasible and there is no feasibleschedule S with a better objective function value f ðSÞ < f ðS �
Þ.In sum, the weighted earliness-tardiness resource-constrained project scheduling
problem with minimum and maximum time lags (WET-RCPSP/max) reads
WET�RCPSP=max
Min: f ðSÞ;
s:t: Sj � Si � �ij ðhi; ji 2 EÞ;
S0 ¼ 0; Snþ1 � d;
rkðS; tÞ � Rk ðk 2 R; t � 0Þ:
8>>><>>>:
In the three-field classifications for resource-constrained project scheduling devisedby Herroelen et al. (1998) and Brucker et al. (1999), this problem is designatedas m; 1 j gpr; �n j early=tardy and PS j temp; d j
PwEi Ei þ wT
i Ti, respectively.
3. Solution approach
In this subsection we describe our iterated-local-search (ILS) heuristic forWET-RCPSP/max. A brief presentation of the major elements of this heuristic canbe found in Ballestın and Trautmann (2006).
Subsection 3.1 gives an overview of the ILS heuristic. In subsection 3.2 we presentthe multi-pass heuristic that we use for initializing the population of schedules.The local-search and the perturbation procedures are described in subsections 3.3and 3.4, respectively.
In various phases of our heuristic we operate with schedules that do not fulfill thetemporal constraints (1). More concretely, in these schedules an activity i may startlater than the latest start time LSi resulting from the temporal constraints (1).Therefore, for evaluating a schedule S we use the function
FðSÞ :¼f ðSÞ; if S is feasible;
nd maxi2V wEi ;w
Ti
� �þP
i2V maxð0;Si � LSiÞ; else:
�
6234 F. Ballestın and N. Trautmann
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
3.1 Overview of the iterated-local-search heuristic
Roughly speaking, the ILS heuristic runs as follows. First, we use a multi-passheuristic (cf. subsection 3.2) to generate a population, i.e. a set of (feasible orinfeasible) schedules. Next, we repeat the following phases until the best schedulein the population cannot be improved upon during a prescribed number ofrepetitions (cf. section 4).
(i) A schedule is selected from the population using a roulette-wheel procedure.The probability of a schedule S being chosen is linearly proportional toF þ
� FðSÞ þ 1, where Fþ is the maximum of F over all schedules in thepopulation.
(ii) A perturbation procedure (cf. subsection 3.4) is randomly chosen and appliedto the selected schedule.
(iii) If a feasible schedule is found in Step (ii), the local-search procedures LS1,LS2, LS3, and LS4 (cf. subsection 3.3) are successively applied to this sche-dule.
(iv) If (in terms of F ) the schedule obtained in Step (iii) is better than the worstschedule in the population, the worst schedule is replaced by the newschedule.
3.2 A multi-pass heuristic
We have developed a novel schedule generation scheme that uses a schedulecodification consisting of an activity list � and a vector ~d of ‘simulated’ due dates.We assume that � is precedence-feasible, i.e. if d ij > 0 (with d ij denoting the lengthof a longest path from node i to node j in the project network), then activity j occursin � after activity i. Our schedule generation scheme (called WET-SGS) decodes apair ð�; ~d Þ in the following way: at iteration � it schedules activity i ¼ �� locallyoptimal w.r.t. ~di, taking into account constraints (1) and (2). If due to somemaximum time lag there is no feasible start time for activity i, WET-SGS performsan unscheduling step as described by Neumann et al. (2003), where we prescribea maximum number of unscheduling steps. We remark that
(a) WET-SGS does not perform any unscheduling step when no maximum timelags are prescribed, and
(b) for every feasible schedule S, there is a pair ð�; ~dÞ such that WET-SGSdecodes ð�; ~dÞ to S; we can obtain � by ordering the activities in non-decreasing order of start times Si, and ~d by setting ~di :¼ Ci
(i ¼ 0; 1, . . . ; nþ 1). This means that when we use the schedule generationscheme WET-SGS within a heuristic, we do not exclude any feasible (and, inparticular, any optimal) schedule from the search space.
Now we turn to the multi-pass heuristic (called MPH) that we use for computingthe initial population of our ILS heuristic. Let � be the population size, i.e.the number of elements of the initial population. MPH generates a set P of(feasible or infeasible) schedules. After performing MPH, we compute F(S) foreach schedule S 2 P. The initial population for ILS then consists of the (in termsof F(S)) � best schedules in set P.
6235Weighted earliness-tardiness project scheduling
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
For initializing MPH, we set P :¼ ø. In total, MPH performs 2� passes. In eachpass, MPH adds one schedule to P as follows.
(i) Generate a permutation � of the activities with a roulette-wheel procedure,where the probability �i of an activity i being chosen is determined bythe maximum of its earliness and tardiness cost. With E � V denotingthe set of all activities that have not yet been chosen andwþ :¼ maxj2EfmaxðwE
j ;wTj Þg, we compute these probabilities by
�i :¼wþ
�maxðwEi ;w
Ti Þ þ 1P
j2E ½wþ �maxðwE
j ;wTj Þ þ 1�
:
(ii) Iteratively schedule the activities locally optimal in the order of � taking intoaccount the temporal constraints (1), but not the resource constraints (2).Let S be the resulting schedule.
(iii) Compute an activity list � by ordering the activities in non-decreasing orderof the start times Si, where ties are broken randomly.
(iv) Compute a vector ~d of simulated due dates by setting ~di :¼ Ci
(i ¼ 0; 1, . . . ; nþ 1).(v) Apply WET-SGS to the pair ð�; ~dÞ. Let SWET be the resulting schedule.
If SWET is feasible, then try to improve SWET by applying the local-searchprocedures LS1, LS2, LS3, and LS4 (cf. subsection 3.3) to it, and add theresulting schedule to P.
(vi) If SWET is not feasible, then perform (without taking into account the resultsof the preceding steps) one pass of the regret-based biased random samplingprocedure proposed by Drexl (1991) using the latest-finish-time rule and theserial generation scheme described by Neumann et al. (2003). Let SCnþ1 be theresulting schedule. If SCnþ1 is feasible, then try to improve SCnþ1 by applyingthe local-search procedures LS1, LS2, LS3, and LS4 (cf. subsection 3.3) to it,and add the resulting schedule to P. Otherwise, add SCnþ1 to P.
Note that, in Step (ii), we temporarily discard the resource constraints. Thus, theresulting schedule S is, in general, good in terms of the objective function, but notfeasible. That is why subsequently we try to compute a feasible schedule that is(to some extent) ‘close’ to schedule S. If this approach fails, we try to find at leasta feasible schedule in Step (vi) using a different schedule generation scheme in whichevery activity is started as early as possible w.r.t. the temporal and the resourceconstraints.
In Step (v) and in Step (vi), it may occur that the earliest feasible start time ti foractivity i is greater than LSi. In this case we perform an unscheduling step asdescribed by Neumann et al. (2003). If the number of unscheduling steps exceedsthe prescribed maximum, we schedule activity i with start time ti and continue withscheduling the remaining activities; in that case, the resulting schedule is infeasible.
3.3 Local-search procedures
In this subsection we describe four local-search procedures called LS1, LS2, LS3,and LS4. Throughout the subsection we assume that a feasible schedule S is given.
6236 F. Ballestın and N. Trautmann
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
If we apply any of these procedures to S, the procedure returns a feasible schedule S 0
with f ðS 0Þ � f ðSÞ.
Procedure LS1 (cf. subsection 3.3.1) aims primarily at gaining flexibility withoutincreasing the total cost. The basic idea of procedures LS2, LS3, and LS4is to improve schedule S by moving some activities i closer to their (original) duedates di. In procedure LS2 (cf. subsection 3.3.2), only one activity i can be movedin an iteration. In each iteration of procedures LS3 and LS4, however, we tryto move an activity i together with one or several other activities that block activityi via a minimum or a maximum time lag (procedure LS3, cf. subsection 3.3.3)or (implicitly) via resource scarcity (procedure LS4, cf. subsection 3.3.4).
In the following, for a given schedule S we denote the set of real activities thatare completed before and after their due dates by VE
ðSÞ and VTðSÞ, respectively.
Each of the four procedures first investigates all activities i 2 VEðSÞ in non-increasing
order of completion times and, second, all activities i 2 VTðSÞ in non-decreasing
order of start times.
Example 3.1: We illustrate the local-search procedures presented in this subsectionusing an example project (cf. figure 1 and table 1). When we represent a scheduleby a Gantt-chart, early and late activities are light- and dark-shaded, respectively.We assume that, in the beginning, schedule S depicted in figure 2 with f ðSÞ ¼ 9is given.
3.3.1 Local-search procedure LS1. Procedure LS1 tries to delay early activities asmuch as possible and vice versa without increasing the total earliness and tardiness
Table 1. Data of example project with R1¼3.
i pi ri1 di wEi wT
i
0 0 0 0 0 01 1 2 4 3 12 1 2 3 1 13 1 2 6 1 14 1 1 5 1 15 2 1 6 1 26 1 2 5 1 17 0 0 0 0 0
0
1
2
3
4 5
6
7
0
0
−2
1
1
1
1
1
−1 2
1
Legend :
i jdij
Figure 1. Activity-on-node network of example project.
6237Weighted earliness-tardiness project scheduling
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
cost. Consider an activity i 2 VEðSÞ with wE
i > 0. If we delay activity i, any resultingtardiness cost must not be higher than the actual earliness cost of i. In other words,if wT
i > 0, then i must be completed not later than point in time �Ei ðSÞ with
wEi ðd i � CiÞ ¼ wT
i ð�Ei ðSÞ � d iÞ. Thus, procedure LS1 schedules each activity
i 2 VEðSÞ such that it is completed as late as possible, but not later than
�Ei ðSÞ :¼
bd i þ ðwEi =w
Ti Þðd i � CiÞc; if wT
i > 0;
d; if wTi ¼ 0:
(
Vice versa, procedure LS1 schedules each activity i 2 VTðSÞ such that it is completed
as early as possible, but not later than
�Ti ðSÞ :¼
dd i � ðwTi =w
Ei ÞðCi � d iÞe; if wE
i > 0;
pi; if wEi ¼ 0:
(
Example 3.2: If we apply procedure LS1 to schedule S depicted in figure 2, we getthe following results. We have VE
ðSÞ ¼ f1; 3g and VTðSÞ ¼ f2; 5; 6g, and thus we
investigate the activities in the order 3, 1, 2, 5, 6; activity 4 is not considered becauseit is completed at its due date. Activity 3 cannot be delayed due to the timelag dmax
13 ¼ 2 between the start times of activities 1 and 3. Activity 1 cannot bedelayed because of resource scarcity. Activity 2, however, may be started earlier;we get �T
2 ðSÞ ¼ 2 as the new completion time of activity 2. The minimum timelag dmin
45 ¼ 1 between the start times of activities 4 and 5 prevents activity 5 beingstarted earlier. Eventually, we consider activity 6, for which we get �T
6 ðSÞ ¼ 3; due toresource scarcity and dmin
16 ¼ 1, we cannot complete activity 6 earlier than at point intime 6. Figure 3 shows the resulting schedule S 1. We note that f ðS 1
Þ ¼ 8; the onlyreason for this improvement is the movement of activity 6, but we will see that themovement of activity 2 has enabled a further improvement that will be realized bylocal-search procedure LS2.
3.3.2 Local-search procedure LS2. In each iteration, procedure LS2 tries to movean activity i without moving any other activity such that i is completed locallyoptimal w.r.t. the original due date di.
t
r1
1 2 3 4 5 6 7
1
2
3
1 2
3
4 5
6
Figure 2. Initial schedule S.
6238 F. Ballestın and N. Trautmann
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
Example 3.3: We apply local-search procedure LS2 to schedule S 1 shown infigure 3. With VE
ðS 1Þ ¼ f1; 2; 3g and VT
ðS 1Þ ¼ f5; 6g, we get the sorting
3, 1, 2, 5, 6. For the same reason as above, activity 3 cannot be delayed.Activities 1 and 2 can be delayed such that both are completed at their due date.Activities 5 and 6 cannot be started earlier because of the resource scarcity and someminimum time lags. Figure 4 shows the resulting schedule S 2, which has an objectivefunction value of f ðS 2
Þ ¼ 4.
3.3.3 Local-search procedure LS3. Procedure LS3 tries to improve the givenschedule S by delaying an early activity i simultaneously with all activities j 2 Vwith Sj ¼ Si þ d ij, and vice versa for a late activity. Let V � V be the set of activitiesthat are delayed. We perform a uniform right-shift of all activities in V with a shiftlength �, i.e. the start time of activity h 2 V is increased by � if h 2 V.
We choose the shift length � such that the improvement of the objective functionvalue becomes maximal. In general, the shift length � is limited from above by someminimum or maximum time lag between start times of activities i 2 V, j 2 V n Vor resource scarcity, respectively. Otherwise, we choose the maximal shift length �,for which we have � ¼ d i � Ci for at least one i 2 V \ VE
ðSÞ. Therefore we determine� as follows.
(i) Determine set � of all relevant shift lengths, i.e.� :¼ fd i � Ci j i 2 V \ VE
ðSÞg.(ii) For each shift length �2�, compute the resulting schedule Sð�Þ by
Shð�Þ :¼ Sh þ�; if h 2 V
0; elseðh ¼ 0; 1, . . . ; nþ 1Þ:
�
(iii) Determine the maximal shift length � :¼ argmin�2�½ f ðSð�ÞÞ�.
Example 3.4: Let us consider schedule S � with f ðS �Þ ¼ 16 shown in figure 5. For
V ¼ f1; 2; 3; 4; 5; 6g we get d 2 � C2 ¼ d 5 � C5 ¼ 1, d 4 � C4 ¼ 2, andd 1 � C1 ¼ d 3 � C3 ¼ 3 and thus � ¼ f1; 2; 3g. Because of f ðSð1ÞÞ ¼ 10,f ðSð2ÞÞ ¼ 9, and f ðSð3ÞÞ ¼ 10, the maximal shift length is � ¼ 2.
Example 3.5: To illustrate the local-search procedure LS3, we apply LS3 toschedule S 2 (cf. figure 4). We have VE
ðS 2Þ ¼ f3g and VT
ðS 2Þ ¼ f5; 6g and thus the
1 2 3 4 5 6 7
t
r1
1
2
3
12
3
4 5
6
Figure 3. Schedule S 1 (result of LS1).
6239Weighted earliness-tardiness project scheduling
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
sorting 3,6,5. Early activity 3 cannot be delayed due to the resource scarcity. For thesame reason, late activity 6 cannot be completed earlier. In order to complete lateactivity 5 earlier, we have to move activity 4 simultaneously, i.e. V :¼ f4; 5g.By performing a uniform left-shift of V with the (maximal) shift length � :¼ � ¼ 1,we obtain schedule S 3 (cf. figure 6) with objective function value f ðS 3
Þ ¼ 3.
t
1
2
3
1 2
3
4 5
1 2 3 4 5 6
r1
6
Figure 5. Schedule S � (discussed in example 3.4).
t
1
2
3
1
2
3
4 5
6
1 2 3 4 5 6
r1
Figure 6. Schedule S 3 (result of LS3).
1 2 3 4 5 6 7
t
r1
1
2
3
12
3
4 5
6
Figure 4. Schedule S � (result of LS2).
6240 F. Ballestın and N. Trautmann
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
3.3.4 Local-search procedure LS4. Procedure LS4 considers activities i that cannotbe delayed or started earlier due to the resource scarcity, but can be delayed orstarted earlier without violating the temporal constraints. We sketch the procedureat hand of an early activity i 2 VE
ðSÞ; for i 2 VTðSÞ the procedure runs analogously.
In each iteration, procedure LS4 first computes the set VB� V of activities that
require at least one resource in common with activity i, can be delayed or startedearlier without violating the temporal constraints, and start later than Ci, butbefore di. Second, for each activity j 2 VB, procedure LS4 analyses the possibleimprovement that would result from unscheduling both activities i and j and thenscheduling activity i and afterwards j locally optimal. If at least one improvementpossibility has been found, procedure LS4 returns the best feasible schedule thathas been found. Otherwise, the procedure examines all possibilities to unscheduleactivities i and j1; j2 2 f j 2 VB
j j 2 VTðSÞ or wE
j < wEi g and then to schedule those
activities in the order i; j1; j2; again, if an improvement possibility has been found,procedure LS4 returns the best feasible schedule that has been found.
Example 3.6: For schedule S 3 we have VEðSÞ ¼ f3; 4g and VT
ðSÞ ¼ f6g. ProcedureLS4 can be applied to activity i¼ 3. We get VB :¼ f6g. We unschedule activities 3and 6, schedule activity 3 locally optimal at S3 :¼ 5, and then scheduleactivity 6 locally optimal at S6 :¼ 4. The resulting schedule S 4 (cf. figure 7) has anobjective function value f ðS 4
Þ ¼ 1. We remark that this schedule S 4 represents anoptimal schedule for the example project.
3.4 Perturbation procedures
In this subsection we describe the five perturbation procedures P1, P2, P3, P4,and P5. Recall that our iterated-local-search procedure randomly chooses oneof these procedures and applies it to the schedule S selected from the population(cf. subsection 3.1). Each procedure starts by computing a pair ð�; ~d Þ that would bedecoded by WET-SGS to schedule S. The activity list � is obtained by ordering theactivities in non-decreasing order of the start times Si, where ties are brokenrandomly, and the vector of simulated due dates ~d by setting ~di :¼ Ci
t
1
2
3
1
2
3
4 5
6
1 2 3 4 5 6
r1
Figure 7. Schedule S 4 (result of LS4).
6241Weighted earliness-tardiness project scheduling
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
(i ¼ 0; 1, . . . ; nþ 1). Then, � and ~d are modified to �0 and ~d 0, respectively, in order toperturb the corresponding schedule. Lastly, the perturbed schedule is computedby applying WET-SGS to ð�0; ~d 0
Þ.In the following subsections, let � and � denote the realizations of a random
variable that is uniformly distributed in �0; 1�, and let �a;b be the integerda� 1þ ðb� aþ 1Þ�e with constants a; b 2 Z�0 (i.e. �a;b 2 fa; aþ 1, . . . ; bg).
3.4.1 Perturbation procedure P1. In procedure P1 we try to delay some earlyactivities, and to complete late activities at their (original) due date. Thus, we set
~d 0i :¼
�Ciþ1;d i; if � < �1
Ci; elseði 2 VE
ðSÞÞ:
�
and ~d 0i :¼ d i ði 2 V nVE
ðSÞÞ. �1 is a threshold parameter whose value has beendetermined in preliminary tests (cf. section 4). The activity list remains unchanged,i.e. �0 :¼ �.
3.4.2 Perturbation procedure P2. The basic idea of procedure P2 is that some earlyactivities may block some late activities, either because of minimum or maximumtime lags or because of the resource scarcity. Therefore, in this procedure we try tocomplete some early activities earlier such that some late activities can be completedat their (original) due dates. Using a threshold parameter �2, we set
~d 0i :¼
�pi;Ci�1; if � < �2
Ci; elseði 2 VE
ðSÞÞ:
�
As in procedure P1, we set ~d 0i :¼ d i ði 2 V nVE
ðSÞÞ and �0 :¼ �.
3.4.3 Perturbation procedure P3. In procedure P3 we compute a new activity list �0
using the so-called -biased random sampling method presented by Valls et al.(2003), where we prescribe ¼ 1� ð5=nÞ. Furthermore, we modify vector ~d by
~d 0i :¼
pi; if � < �3
Ci; elseði 2 V Þ;
�
with threshold parameter �3.
3.4.4 Perturbation procedure P4. In procedure P4 we try to delay some earlyactivities by increasing their position in the activity list and setting their simulateddue date equal to their (original) due dates. Vice versa, we also try to complete somelate activities earlier.
Let �1 and �2 denote the realizations of a random variable that is uniformlydistributed in �0; 1�. Correspondingly, we use two threshold parameters �4;1and �4;2. We iteratively examine activity i ¼ �l ðl ¼ 1, . . . ; nÞ and proceed as follows.
(i) If i 2 VEðSÞ and �1 < �4;1, determine the first position l in � with S�
l� d i � pi,
and set �i :¼ �lþ1;l and
~d 0i :¼ Ci.
6242 F. Ballestın and N. Trautmann
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
(ii) If i 2 VTðSÞ and �1 < �4;1, determine the first position l in � with S�l < d i � pi,
and set �i :¼ �l;l�1 and ~d 0i :¼ pi. Furthermore, for each l0 ¼ �i, . . . ; l� 1
with d �l 0 i� 0, set ��l0
:¼ �i � 1.(iii) If �i and ~d 0
i have not been set in Step (i) or (ii), set �i :¼ l and
~d 0i :¼
pi; if �2 < �4;2;
Ci; else:
�
Eventually, we build activity list �0 in n steps as follows: at step l ¼ 1, . . . ; n, anactivity i is chosen for position l in �0. An activity can be chosen if all its predecessorshave already been chosen. If several activities meet this criterion, we choose anactivity i with smallest value �i, where ties are broken randomly.
3.4.5 Perturbation procedure P5. The basic idea of perturbation procedure P5 isthe same as for the local-search procedure LS3 for the case of late activities, i.e. wetry to complete a late activity and (if necessary) its predecessors earlier. In contrast toprocedure LS3, we do not directly modify the schedule, but the activity list � and thevector of corresponding simulated due dates ~d.
First, we select an activity i 2 VTðSÞ with the smallest start time of all activities in
VTðSÞ. Second, we compute the set of activities V that we want to complete earlier
and the maximal shift length � as described in subsection 3.3.3. Let S be the start timeof the earliest activity in V. Third, we select a shift length � :¼ �1;�. Next, we generatea new activity list �0 in which all activities in V occur before all activities that(according to S) are completed later than at point in time S� � and that (accordingto �) are scheduled before the activities in V. Lastly, we modify ~d as follows. We set~di :¼ Ci � � if i 2 V, ~di :¼ Ci if Ci � S� �, and ~di :¼ minðd i;CiÞ otherwise.
In contrast to the other perturbation procedures, we continue the ILS heuristicusing the resulting schedule only if all activities in V start earlier than according to S,or if its objective function value is better than f(S). Otherwise, we repeat procedureP5, where we examine the late activities in non-decreasing order of start times, untilat least one of these two conditions is met. If this is never achieved, we continue usingthe original schedule S.
4. Experimental performance analysis
In this section we report the results of an experimental performance analysis wherewe have compared the ILS heuristic presented in this paper with the methodsproposed by Schwindt (2000b) (cf. subsection 4.1) and Vanhoucke et al. (2001)(cf. subsection 4.2). We recall that, according to Schwindt (2005), the performanceof the local-search heuristic presented by Schwindt (2000a) is competitive with theformer method.
All computations were performed on a 1.4GHz Pentium PC with 512MB RAM.The results reported by Schwindt (2000b) and Vanhoucke et al. (2001) were obtainedusing PCs with 333MHz and 200MHz clock pulses and a time limit of 100 s,respectively. In order to obtain comparable results, we stopped these methodsafter 24 s and 14 s, respectively, on our computer.
After previous tests, we selected the parameter values of our method as follows.
6243Weighted earliness-tardiness project scheduling
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
. The ILS heuristic is stopped when the best schedule in the population has notbeen improved upon after 200 iterations.
. The population size is �¼ 50.
. In each iteration of ILS, the probability of selecting perturbation procedureP2, P4, or P5 is 1/4; perturbation procedure P1 and P3 is chosen withprobability 1/8.
. For the perturbation procedures we use the following threshold parametervalues: �1 ¼ 0:15, �2 ¼ 0:6, �3 ¼ 0:6, �4;1 ¼ 0:2, and �4;2 ¼ 0:6.
4.1 Results for WET-RCPSP/max
For problem WET-RCPSP/max, our comparison is based on the standard test setsUBO50 and UBO100 that were generated by the project generator ProGen/max(Newmann et al. 2003). Each test set consists of 90 problem instances with 50 and100 real activities, respectively. The weights wE
i and wTi were generated randomly
according to a uniform distribution in set f0; 1, . . . ; 100g. When generating the duedates, parameter was used for controlling their tightness. Seven variations of eachproblem instance were generated by successively choosing the values 1, 1.25, 1.5,1.75, 2.0, 2.25, 2.5 for and generating the due dates di randomly according toa uniform distribution in set f0; 1, . . . ; ESnþ1g. Thereby ESnþ1 denotes the earliestproject completion time of a schedule with S0¼ 0 that fulfills the temporalconstraints (1). Thus, a small value of implies that all due dates are relativelyearly. In contrast, a large value of indicates that some due dates may be tightand others may be loose. The maximal project duration is set to d :¼ ESnþ1.
We applied the ILS heuristic presented in this paper and a truncated version ofthe branch-and-bound method presented by Schwindt (2000b) (abbreviated as TBSin the following) to all seven variations of each problem instance. For 73 instancesof test set UBO50 and for 78 instances of test set UBO100, a feasible solutionexists. For all these instances, the ILS heuristic found a feasible solution for everyvalue of . The number of instances solved to feasibility by TBS for the variousvalues of is shown in table 2. The value of does not seem to have a significantinfluence on that number. However, for every value of , there are one or severalsolvable instances for which TBS did not find a feasible solution.
For the instances that TBS solved to feasibility, tables 3 and 4 show the averagedeviation of the objective function value obtained from a lower bound on theobjective function value that is calculated in the root node of the branch-and-boundmethod of Schwindt (2000b). The values in the individual rows refer to the followingsettings:
. row TBS: truncated version of the branch-and-bound method of Schwindt(2000b);
Table 2. WET-RCPSP/max: number of instances solved to feasibility by TBS.
Test set ¼1.00 ¼1.25 ¼1.50 ¼1.75 ¼2.00 ¼2.25 ¼2.50
UBO50 68 70 70 70 69 68 72UBO100 69 63 64 66 69 68 66
6244 F. Ballestın and N. Trautmann
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
. row MPH: initial population of ILS (cf. subsection 3.2);
. row ILS12: ILS, but only local-search procedures LS1 and LS2 are applied;
. row ILS34: ILS, but only local-search procedures LS3 and LS4 are applied;
. row ILS100: all phases of ILS, but already stopped when the best schedule inthe population has not been improved after 100 iterations;
. row ILS: all phases of ILS;
. row ILS �¼ 25: all phases of ILS with a population size of 25;
. row ILS �¼ 100: all phases of ILS with a population size of 100.
Tables 5 and 6 show the corresponding average CPU times per instance requiredby both algorithms to terminate, referring to all instances of the test sets. We see that,in general, ILS runs faster than TBS.
If we compare TBS with ILS regarding the solution quality, we see that, for allvalues of , the solutions obtained by ILS are better than those obtained by TBS.The difference between the objective function values obtained by the two solutionmethods is increasing in the tightness of the due dates. For both solution methods,the deviation becomes larger if the due dates are getting tighter.
With regard to the individual phases of ILS, we note that, in general for tight duedates, the best schedule in the initial population has a better objective function value
Table 3. WET-RCPSP/max: average relative deviation from lower bound fortest set UBO50.
Method 1.00 (%) 1.25 (%) 1.50 (%) 1.75 (%) 2.00 (%) 2.25 (%) 2.50 (%) Avg. (%)
TBS 16.65 15.91 11.24 7.28 5.64 2.97 2.34 8.83
MPH 16.43 15.85 11.49 8.67 6.33 4.34 3.97 9.56ILS12 13.56 12.52 9.58 7.15 5.07 3.63 3.24 7.80ILS34 13.64 12.56 9.03 6.87 4.62 3.03 2.59 7.46ILS100 13.86 12.43 9.31 6.66 4.61 3.13 2.38 7.46ILS 13.16 11.83 8.73 6.27 4.27 2.77 2.04 6.99
ILS �¼ 25 13.52 12.03 8.79 6.00 4.27 2.71 2.35 7.08ILS �¼ 100 13.36 11.63 8.81 6.28 4.29 2.79 2.28 7.04
Table 4. WET-RCPSP/max: average relative deviation from lower bound fortest set UBO100.
Method 1.00 (%) 1.25 (%) 1.50 (%) 1.75 (%) 2.00 (%) 2.25 (%) 2.50 (%) Avg. (%)
TBS 15.72 9.88 7.15 4.92 4.16 3.08 2.46 6.77MPH 15.01 9.36 7.81 6.08 5.45 4.34 3.46 7.37ILS12 12.72 8.10 6.45 4.94 4.43 3.88 2.95 6.22ILS34 11.95 7.35 5.77 4.25 3.82 3.01 2.45 5.52ILS100 12.58 7.49 5.94 4.53 3.76 3.09 2.31 5.68ILS 11.60 6.86 5.47 3.93 3.36 2.69 1.91 5.12
ILS �¼ 25 12.20 6.96 5.52 4.03 3.41 2.60 1.83 5.23ILS �¼ 100 12.17 7.24 5.50 4.08 3.57 2.80 1.97 5.34
6245Weighted earliness-tardiness project scheduling
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
than the schedule obtained by TBS, and vice versa for loose due dates. We also seethat both pairs of local search procedures contribute significantly to thesolution quality. Procedures LS3 and LS4 require more CPU time, but also contri-bute more to the solution quality than procedures LS1 and LS2.
Eventually, we remark that the (positive) effect of increasing the maximumnumber of iterations without improvement from 100 to 200 becomes larger withthe tightness of the due dates. Working with a smaller population size reduces(except for very loose due dates) the solution quality; a higher population size,however, also decreases the solution quality. Moreover, the impact of the populationsize on the CPU time requirements is much smaller than the impact of the maximumnumber of iterations without improvement.
4.2 Results for WET-RCPSP
Additionally, we compared our ILS heuristic with the branch-and-bound methodproposed by Vanhoucke et al. (2001) (abbreviated BBV in the following). Recallthat, in the latter method, only precedence constraints, but no general minimumand maximum time lags are considered (problem WET-RCPSP). Here, ourcomparison is based on the standard test sets j30 and j60 that were generatedby the project generator ProGen (Kolisch et al. 1995). Each test set consists of
Table 5. WET-RCPSP/max: average CPU time (s) required for test set UBO50.
Method 1.00 1.25 1.50 1.75 2.00 2.25 2.50 Avg.
TBS 18.14 18.77 18.42 17.63 18.59 16.79 12.64 17.28MPH 0.23 0.23 0.22 0.23 0.23 0.23 0.23 0.23ILS12 0.76 0.85 0.79 0.84 0.88 0.82 0.88 0.83ILS34 1.06 1.30 1.29 1.26 1.35 1.36 1.32 1.27ILS100 0.52 0.55 0.56 0.59 0.61 0.58 0.60 0.57ILS 0.83 0.89 0.93 0.97 0.98 1.05 1.04 0.96
ILS �¼ 25 0.70 0.69 0.76 0.82 0.89 0.86 0.84 0.79ILS �¼ 100 1.10 1.16 1.16 1.17 1.31 1.24 1.30 1.20
Table 6. WET-RCPSP/max: average CPU time (s) required for test set UBO100.
Method 1.00 1.25 1.50 1.75 2.00 2.25 2.50 Avg.
TBS 24.72 24.27 23.82 23.36 24.13 23.83 22.92 23.86
MPH 0.80 0.82 0.79 0.82 0.80 0.80 0.83 0.81ILS12 3.75 3.95 4.08 4.08 3.95 3.86 4.79 4.07ILS34 5.17 5.88 5.71 5.68 5.50 5.37 5.62 5.56ILS100 2.25 2.33 2.51 2.24 2.33 2.27 2.44 2.34ILS 4.04 4.31 4.09 4.05 4.31 4.25 4.59 4.24ILS �¼ 25 3.06 3.18 3.66 3.82 3.79 3.94 4.42 3.70ILS �¼ 100 4.66 5.03 4.76 4.85 4.86 4.72 5.05 4.85
6246 F. Ballestın and N. Trautmann
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
480 projects with 30 and 60 real activities. As reported by Vanhoucke et al. (2001), theweights were generated randomly according to a uniform distribution in setf0; 1, . . . ; 9g, and the due dates were generated as described above.
Tables 7 and 8 show the CPU times required and the number of instances solvedto feasibility by BBV. Again, the ILS heuristic solved all instances to feasibility.In contrast, for tight due dates, BBV does not always find a feasible solution.
For the instances that BBV solved to feasibility, table 9 shows the averagedeviation of the objective function value obtained by BBV from that obtained bythe ILS heuristic. For very loose due dates and small problem instances, BBV findssolutions with a slightly better objective function value, on average, than the ILSheuristic. In contrast, for tight due dates and larger problem instances, the ILSheuristic clearly outperforms BBV.
5. Conclusions
The subject of this paper is the scheduling problem WET-RCPSP/max. The problemis to determine the start times of project activities such that the total weightedearliness-tardiness cost is minimized, the prescribed minimum and maximum time
Table 7. WET-RCPSP: average CPU time (s) required.
Test set Method 1.00 1.25 1.50 1.75 2.00 2.25 2.50 Avg.
j30 ILS 0.19 0.18 0.18 0.17 0.17 0.17 0.16 0.17j30 BBV 7.36 5.67 3.68 2.66 2.00 1.54 0.98 3.41
j60 ILS 0.64 0.60 0.54 0.50 0.47 0.44 0.43 0.52j60 BBV 23.01 14.73 10.00 7.30 5.69 4.54 3.60 9.84
Table 8. WET-RCPSP: number of instances solved to feasibility by BBV.
Test set 1.00 1.25 1.50 1.75 2.00 2.25 2.50
j30 480 480 480 480 480 480 480j60 450 471 477 478 480 480 480
Table 9. WET-RCPSP: average relative deviation of objective function values.
Test set 1.00 (%) 1.25 (%) 1.50 (%) 1.75 (%) 2.00 (%) 2.25 (%) 2.50 (%) Avg. (%)
j30 3.67 3.78 2.08 2.03 1.03 �0.04 �0.08 1.78j60 12.14 11.23 11.13 11.64 8.14 �4.34 �2.96 8.80
6247Weighted earliness-tardiness project scheduling
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
lags between the start times of activities are fulfilled, and the scarce capacity of theresources needed for the execution of the activities is never exceeded. This problem isof vital importance in the context of short-term planning of just-in-time productionand of rescheduling.
For the heuristic solution of this problem, we have proposed a new methodof the iterated-local-search type. We have presented problem-specific proceduresfor initializing a population of schedules, and for the local improvement andperturbation of schedules. In an experimental performance analysis, we havecompared our solution approach with the best methods known from the literaturefor the case of minimum and maximum time lags and for the case where onlyprecedence constraints are prescribed. It turns out that, in general, when using oursolution approach, one obtains better feasible solutions within shorter CPU times.
Van de Vonder et al. (2007) discuss in more detail how to use a simplified versionof our solution approach for reactive project scheduling. An area of future studywould be how our solution approach could be accelerated such that it could be used,for example, in the capable-to-promise module of an Advanced Planning System forSupply-Chain Management. Another important area of future research is theintegration of further resource types (e.g. storage facilities) into our approach.
Acknowledgements
The authors are very grateful for the many helpful comments and suggestions of thethree anonymous referees. This work was performed during the stay of the firstauthor at the Universitat Karlsruhe (Germany). This research was partiallysupported by the Ministerio de Ciencia y Tecnologıa (Spain) under contractTIC2002-02510.
References
Baker, K.R. and Scudder, G.D., Sequencing with earliness and tardiness penalties: a review.Oper. Res., 1990, 38, 22–36.
Ballestın, F. and Trautmann, N., A metaheuristic approach for the resource-constrainedweighted earliness-tardiness project scheduling problem, in 10th InternationalWorkshop on Project Management and Scheduling (PMS 2006), 2006, pp. 56–62.
Brucker, P., Drexl, A., Mohring, R., Neumann, K. and Pesch, E., Resource-constrainedproject scheduling: notation, classification, models, and methods. Eur. J. oper. Res.,1999, 112, 3–41.
Demeulemeester, E. and Herroelen, W., A branch-and-bound-procedure for the multipleresource-constrained project scheduling problem. Mgmt Sci., 1992, 38, 1803–1818.
Demeulemeester, E. and Herroelen, W., Project Scheduling: A Research Handbook, 2002(Kluwer: Boston).
Drexl, A., Scheduling of project networks by job assignment. Mgmt Sci., 1991, 37, 1590–1602.Herroelen, W., Demeulemeester, E. and De Reyck, B., A classification scheme for project
scheduling. In Project Scheduling—Recent Models, Algorithms and Applications, editedby J. Weglarz, pp. 1–26, 1998 (Kluwer: Boston).
Herroelen, W. and Leus, R., Robust and reactive project scheduling: a review and classifica-tion of procedures. Int. J. Prod. Res., 2004, 42, 1599–1620.
6248 F. Ballestın and N. Trautmann
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014
Keri, A. and Kis, T., Primal-dual combined with constraint propagation for solvingRCPSPWET. In Operations Research Proceedings 2006, edited by H. Haasis,H. Kopfer and J. Schonberger, pp. 685–690, 2006 (Springer: Berlin).
Kolisch, R., Sprecher, A. and Drexl, A., Characterization and generation of a general class ofresource-constrained project scheduling problems. Mgmt Sci., 1995, 41, 1693–1703.
Lourenco, H.R., Martin, O. and Stutzle, T., Iterated local search. In Handbook ofMetaheuristics, edited by F. Glover and G. Kochenberger, pp. 321–353, 2002(Kluwer: Boston).
Neumann, K. and Schwindt, C., Activity-on-node networks with minimal and maximal timelags and their application to make-to-order production. OR Spektrum, 1997, 19,205–218.
Neumann, K., Schwindt, C. and Trautmann, N., Advanced production scheduling for batchplants in process industries. OR Spectrum, 2002, 24, 251–279.
Neumann, K., Schwindt, C. and Zimmermann, J., Project Scheduling with Time Windows andScarce Resources, 2003 (Springer: Berlin).
Schwindt, C., Local search for project scheduling with convex objective functions, in 7thInternational Workshop on Project Management and Scheduling (PMS 2000), 2000a,pp. 239–241.
Schwindt, C., Minimizing earliness-tardiness costs of resource-constrained projects.In Operations Research Proceedings 1999, edited by K. Inderfurth, G. Schwodiauer,W. Domschke, F. Juhnke, P. Kleinschmidt and G. Wascher, pp. 402–407, 2000b(Springer: Berlin).
Schwindt, C., Resource Allocation in Project Management, 2005 (Springer: Berlin).Serafini, P. and Speranza, M.G., A decomposition approach for a resource-constrained
project scheduling problem. Eur. J. Oper. Res., 1994a, 75, 112–135.Serafini, P. and Speranza, M.G., A decomposition approach in a DSS for a resource
constrained scheduling problem. Eur. J. Oper. Res., 1994b, 79, 208–219.Van de Vonder, S., Ballestın, F., Demeulemeester, E. and Herroelen, W., Heuristic procedures
for reactive project scheduling. Comput. Ind. Engng, 2007, 52, 11–28.Vanhoucke, M., Demeulemeester, E. and Herroelen, W., An exact procedure for the resource-
constrained weighted earliness-tardiness project scheduling problem. Ann. Oper. Res.,2001, 102, 179–196.
Valls, V., Quintanilla, S. and Ballestın, F., Resource-constrained project scheduling: a criticalactivity reordering heuristic. Eur. J. Oper. Res., 2003, 149, 282–301.
6249Weighted earliness-tardiness project scheduling
Dow
nloa
ded
by [
Que
ensl
and
Uni
vers
ity o
f T
echn
olog
y] a
t 18:
09 0
6 N
ovem
ber
2014