You are on page 1of 4

Computers & Operations Research 40 (2013) 1060–1063

Contents lists available at SciVerse ScienceDirect

Computers & Operations Research


journal homepage: www.elsevier.com/locate/caor

A note on ‘‘event-based MILP models for resource-constrained project


scheduling problems’’
Christian Artigues a,b,n, Peter Brucker c, Sigrid Knust c, Oumar Koné d, Pierre Lopez a,b,
Marcel Mongeau e
a
CNRS, LAAS, 7 avenue du Colonel Roche, F-31400 Toulouse, France
b
Univ de Toulouse, LAAS, F-31400 Toulouse, France
c
Department of Mathematics/Computer Science, University of Osnabrück, Germany
d
Laboratoire de Mathématiques et Informatique, UFR-SFA, Université d’Abobo - Adjamé, BP 801 Abidjan 02, Côte d’Ivoire, France
e
École Nationale de l’Aviation Civile, 7 av. É.-Belin - BP 54005, 31055 Toulouse Cedex 4, France

a r t i c l e i n f o a b s t r a c t

Available online 1 November 2012 Recently, new mixed integer linear programming formulations for the resource-constrained project
Keywords: scheduling problem were proposed by Koné et al. [3]. Unfortunately, the presentation of the first new model
Resource-constrained project scheduling (called start/end-based formulation SEE) was not correct. More precisely, a set of necessary constraints
MILP formulation representing the relative positioning of start and end events of activities was unintentionally omitted in the
Event paper although it was present in the integer program used for the computational experiments. After
presenting a counterexample showing the incorrectness, we provide a disaggregated and an aggregated
variant of the set of necessary constraints, the disaggregated formulation yielding in theory a better linear
programming relaxation. We present computational results showing that although the linear programming
relaxations of both formulations yield equivalently poor lower bounds, the disaggregated formulation shows
in average a better performance for integer solving of a well-known set of 30-activity instances.
& 2012 Elsevier Ltd. All rights reserved.

1. Introduction
Additionally, two dummy activities 0 and n þ 1 are introduced
The resource-constrained project scheduling problem (RCPSP) indicating the start and the end of the project, respectively. These
may be formulated as follows. Given are n activities A ¼ f1, . . . ,ng dummy activities need no resources and have processing time
and m renewable resources R ¼ f1, . . . ,mg. A constant number of zero. Furthermore, we have ð0,iÞ A E for all activities i without any
Bk units of resource k is available at any time. Activity i A A must predecessor and ði,n þ 1Þ A E for all activities i without any
be processed for pi time units and occupies bik units of resource successor. Then Sn þ 1 may be interpreted as the makespan of the
k during this time period. Furthermore, a set E of precedence project.
relations (i,j) is given, where ði,jÞ A E means that activity j cannot Recently, two new mixed integer linear programming (MILP)
start before activity i is completed. formulations for the RCPSP based on events were introduced in
The objective is to determine starting times Si for the activities Koné et al. [3]. In the following, we will show that the start/end-based
i A A such that formulation SEE is not correct by presenting a counterexample.
Afterwards we give a corrected version and present some computa-
 at each time the total resource demand is less than or equal to tional results.
the resource availability of each resource k A R,
 the given precedence constraints are fulfilled, i.e. Si þ pi rSj for
ði,jÞ A E, and
 the makespan C max ¼ maxni¼ 1 fC i g is minimized, where 2. The SEE-formulation
C i :¼ Si þ pi denotes the completion time of activity i.
The start/end event-based formulation SEE uses the notion of
events which correspond to times where an activity starts or
n
Corresponding author at: CNRS, LAAS, 7 avenue du Colonel Roche, F-31400 ends. The SEE-formulation relies on the fact that for the RCPSP
Toulouse, France. always an optimal left-shifted (semi-active) schedule exists in
E-mail addresses: christian.artigues@laas.fr (C. Artigues),
peter.brucker@uni-osnabrueck.de (P. Brucker),
which the start time of any activity is either 0 or coincides with
sigrid.knust@uni-osnabrueck.de (S. Knust), mr.okone@gmail.com (O. Koné), the completion time of another activity. Therefore, for n activities
pierre.lopez@laas.fr (P. Lopez), marcel.mongeau@enac.fr (M. Mongeau). at most n þ1 events have to be considered. Let E ¼ f0,1, . . . ,ng be

0305-0548/$ - see front matter & 2012 Elsevier Ltd. All rights reserved.
http://dx.doi.org/10.1016/j.cor.2012.10.018
C. Artigues et al. / Computers & Operations Research 40 (2013) 1060–1063 1061

the index set of the events corresponding to the starting and respected: If a predecessor i of j ends at event e or later (i.e.
Pn Pe1
completion times of the activities. e0 ¼ e yie ¼ 1), then e0 ¼ 0 xje must be zero, i.e. j cannot start
0

In the SEE-formulation, two types of binary variables and two before event e. Equalities (8) set the initial quantities of each
types of continuous variables are used. There are binary variables resource k needed immediately after time 0. Equalities (9)
xie , yie A f0,1g for i A A, e A E with describe the recursion for calculating the rek-values for the other
( events, namely the quantity of resource k needed immediately
1, if activity i starts at event e
xie :¼ after time te is equal to the quantity of resource k needed
0, otherwise
immediately after time t e1 plus the quantity of resource k
and needed by the activities starting at time te minus the quantity
( of resource k needed by the activities completing at time te.
1, if activity i ends at event e Constraints (10) limit the quantity of resource k needed immedi-
yie :¼
0, otherwise ately after time te to the availability of resource k. Inequalities
(14) and (15) ensure that an activity cannot start before its
The continuous variables te for eA E represent the dates of the
earliest starting time nor after its latest starting time. Further-
events e. It is assumed that the events are enumerated such that
more, (16) says that the project cannot end before the earliest
t 0 r t 1 r    rt n holds. The continuous (auxiliary) variable rek for
start time of the dummy finishing activity n þ 1.
e A E,k A R represents the quantity of resource k required imme-
Unfortunately, this formulation is not correct since an activity
diately after event e.
may end at the same time or before it is started (i.e. we may set
Using these variables, the SEE-formulation was introduced as
xie ¼ yif ¼ 1 for events f o e). For simplicity, we consider the
follows:
formulation without the inequalities (14)–(16) for the time
min tn ð1Þ windows since they do not influence correctness.
For a counterexample, consider a project with n¼4 activities,
s:t: t0 ¼ 0 ð2Þ m¼2 resources with capacities B1 ¼ 5, B2 ¼ 7, a precedence
relation ð2,3Þ, and the following data:
t e þ 1 t e Z 0 ðe A E\fngÞ ð3Þ

t f t e pi xie þpi ð1yif Þ Z 0 ði A A; e,f A E,eo f Þ ð4Þ


X
xie ¼ 1 ði A AÞ ð5Þ
eAE

X
yie ¼ 1 ðiA AÞ ð6Þ
eAE
An optimal schedule with makespan C max ¼ 12 is shown in Fig. 1.
X
n X
e1 Let us consider the solution
yie0 þ xje0 r 1 ðði,jÞ A E; e A EÞ ð7Þ
e0 ¼ e
t0 ¼ t1 ¼ t2 ¼ t3 ¼ t4 ¼ 0
e0 ¼ 0

X x14 ¼ x21 ¼ x34 ¼ x41 ¼ 1


r0k  bik xi0 ¼ 0 ðk A RÞ ð8Þ y10 ¼ y21 ¼ y31 ¼ y40 ¼ 1
iAA
r 41 ¼ 4, r 12 ¼ r 22 ¼ r 32 ¼ 2, r 42 ¼ 7
X
r ek r e1,k þ bik ðyie xie Þ ¼ 0 ðe A E\f0g; kA RÞ ð9Þ
where all other values are equal to zero. In the following, we show
iAA
that this solution is feasible for the SEE-formulation (1)–(13):
r ek r Bk ðe A E; k A RÞ ð10Þ That the constraints (2), (3), (5), (6), and (11)–(13) are satisfied,
can be seen immediately. Conditions (4) hold because for all eo f
xie ,yie A f0,1g ðiA A; e A EÞ ð11Þ we have ðxie ,yif Þ a ð1,1Þ for i ¼ 1,2,3,4. Therefore, (4) is equivalent
to t f Zt e or t f Zt e pi , which is satisfied due to (3). Condition (7) is
t e Z0 ðeA EÞ ð12Þ Pn
fulfilled because for ði,jÞ ¼ ð2,3Þ we have e0 ¼ 1 y2e0 þ x30 ¼
Pn
1þ 0 ¼ 1 and e0 ¼ e y2e0 ¼ 0 for e4 1. That (8)–(10) are satisfied
r ek Z 0 ðe A E; k A RÞ ð13Þ
can be seen by evaluating (8) and (9). For example, for the
Additionally, the following inequalities were integrated taking
into account time windows ½ESi ,LSi  for the activities iA A, where
ESi and LSi denote the earliest and latest starting time for i,
respectively:
ESi xie rt e rLSi xie þ LSn þ 1 ð1xie Þ ðiA A; eA EÞ ð14Þ

ðESi þ pi Þyie r t e r ðLSi þ pi Þyie þLSn þ 1 ð1yie Þ ði A A; eA EÞ ð15Þ

ESn þ 1 r t n ð16Þ
The objective function (1) consists in minimizing the comple-
tion time tn of an activity processed last. Constraint (2) indicates
that the first event starts at time 0, (3) takes care of the ordering
of the events. Inequalities (4) ensure that if xie ¼ yif ¼ 1 (i.e. i starts
at event e and completes at event f), then t f Z t e þpi holds. For all
other combinations of values for xie and yif we have either t f Zt e
or t f Zt e pi , which are covered by (3). Constraints (5) and (6)
guarantee that each activity starts and ends exactly once.
Constraint (7) ensures that the given precedence constraints are Fig. 1. An optimal schedule for the example.
1062 C. Artigues et al. / Computers & Operations Research 40 (2013) 1060–1063

resource k¼2 we get solution of the extended SEE-formulation (i.e. (1)–(13) with, in
r 02 ¼ 0 addition, either (17) or (18)) always provides an optimal schedule
P for the RCPSP.
r 12 ¼ r 02 þ bi2 ðxi1 yi1 Þ ¼ 0 þ3ð00Þ þ5ð11Þ þ 2ð01Þ
iAA
X Theorem 1. An optimal solution ðt,x,yÞ of MILP (1)–(13) with either
þ 4ð10Þ ¼ 2r 22 ¼ r 12 þ bi2 ðxi2 yi2 Þ ¼ 2 þ3ð00Þ þ 5ð00Þ
(17) or (18) provides an optimal RCPSP schedule S ¼ ðSi Þi A A where
iAA P
X Si ¼ e A E t e xie for i A A.
þ 2ð00Þ þ 4ð00Þ ¼ 2r 32 ¼ r 22 þ bi2 ðxi3 yi3 Þ ¼ 2þ 3ð00Þ
iAA Proof. We have already shown that any feasible solution for the
RCPSP provides a feasible solution of the MILP-formulation and tn
þ 5ð00Þ þ 2ð00Þ þ 4ð00Þ ¼ 2r 42 ¼ r 32
X corresponds to the makespan. Therefore, it remains to show that
þ bi2 ðxi4 yi4 Þ ¼ 2 þ 3ð10Þ þ 5ð00Þ þ 2ð10Þ þ4ð00Þ ¼ 7 if ðt,x,yÞ is a feasible solution for (1)–(13), (17) or (1)–(13), (18),
iAA P
then the schedule S with Si ¼ e A E t e xie is a feasible solution for
and all these values are not larger than B2 ¼ 7. Similarly, for the the RCPSP. Note that due to (5) for any activity iA A exactly one xie
resource k¼1 we have r 01 ¼ r 11 ¼ r 21 ¼ r 31 ¼ 0 and r 41 ¼ 4, which is equal to one, i.e. the starting time Si is determined by exactly
are all smaller than B1 ¼ 5. one event. Furthermore, the interpretation of yif ¼ 1 is slightly
Since this solution does not correspond to a feasible schedule different: if yif ¼ 1 holds, then tf is only an upper bound for the
for the RCPSP, it is shown that the SEE-formulation is incorrect. completion time of activity i (it may be larger than the starting
If we consider the formulation with the time window inequal- time of activity i plus pi). But, since the yif-values are ignored in
ities (14)–(16), we still get incorrect solutions. For the above the definition of S, this causes no problem.
example with ES1 ¼ ES2 ¼ ES4 ¼ 0, ES3 ¼ 3, LS1 ¼ LS3 ¼ LS4 ¼ 15, In the following, we show that the schedule S is feasible, i.e.
LS2 ¼ 10 we get the solution satisfies all precedence and resource constraints:
t 0 ¼ t 1 ¼ t 2 ¼ 0, t 3 ¼ 4, t4 ¼ 8
x14 ¼ x23 ¼ x34 ¼ x42 ¼ 1  Let ði,jÞ A E, i.e. j is a successor of i. If xie ¼ 1, then by constraints
(17) or (18) we must have yif ¼ 1 for some f 4e. Thus, due to
y13 ¼ y23 ¼ y34 ¼ y44 ¼ 1
(4) we have
r 21 ¼ 2, r 22 ¼ 4, r 32 ¼ 1
0 rt f t e pi xie þ pi ð1yif Þ ¼ t f t e pi ,
where all other values are equal to zero.
In order to correct the above formulation, we must ensure that which implies t f Z t e þ pi . Furthermore, with yif ¼ 1 constraints
an activity does not end at the same time or before it is started. (5) and (7) induce that xjg ¼ 1 for some event g Zf . Therefore,
In the computational experiments presented in [3], this was by (3) we get t g Z t f , which implies t e þpi r t f r t g , i.e. activity j
actually done by including the following constraints. cannot start before the completion time of activity i.
 Due to (4) for each activity i and events e, f with xie ¼ yif ¼ 1 the
X
e X
n
yiv þ xiv r1 ði A A,e A EÞ ð17Þ inequality t f Zt e þpi must hold. Therefore, by (8)–(10) the
v¼0 v¼e capacity constraints are satisfied even when (in the MILP
solution) activity i completes at a time t f Z t e þpi instead of
These constraints state that an activity cannot simultaneously
time t e þpi . This implies that all resource constraints are
start at event e or after, and finish at event e or before.
fulfilled. &
Alternatively, this can be guaranteed by adding the following
smaller set of inequalities:
X X
fyif  exie Z 1 ðiA AÞ ð18Þ 3. Computational results
f AE eAE

An analogy can be made between the disaggregated prece- We performed a series of tests to compare the aggregated and
dence constraints of the standard time-indexed formulation [1] the disaggregated variant as the results presented by Koné et al.
and constraints (17), as well as between the aggregated prece- [3] only presented the results of the disaggregated variant.
dence constraints and constraints (18). As MILP solver we used CPLEX 12.3 on a 4-core Intel Xeon
In particular, if for all iA A and for all e A E, xiv , yiv Z0, we have W3520 processor with 2.66 GHz and 5.83 GB main storage, under
(5), (6) and (17), which implies (18). It follows that the LP Linux Ubuntu 10.04. We took the 480 instances KSD30 with n ¼30
relaxation of (1)–(13), (17) cannot be worse than the LP relaxation activities for the formulation (1)–(18). Time windows ½ESi ,LSi 
of (1)–(13), (18). However, as remarked in [4], inequalities (17) and an upper bound T for the time horizon were calculated as
are not strong enough to define the convex hull of feasible described in [3].
solutions, contrarily to the equivalent inequalities in the time- At first, we considered the continuous LP relaxation which
indexed formulation. This means that, even with the tighter could be solved fast for all instances. For both formulations and
constraints, the LP relaxation is likely to be of poor quality, as for all instances the calculated lower bound value was equal to
experienced in [3]. the trivial lower bound ESn þ 1 , i.e. as reported in [3] the LP
If we add either inequalities 17 or inequalities 18 to (1)–(13), relaxations of both SEE formulations are very poor.
for the previous example we get the optimal solution Afterwards, we tried to compare the MILP-formulations for
t 0 ¼ 0, t 1 ¼ 3, t 2 ¼ 8, t 3 ¼ 11, t 4 ¼ 12 exact (integer) solving with a time limit of 10 min. Table 1 shows
summarized results for the 480 instances. Column ‘‘int’’ gives the
x12 ¼ x20 ¼ x31 ¼ x41 ¼ 1
y14 ¼ y21 ¼ y32 ¼ y43 ¼ 1 Table 1
r 01 ¼ 1, r 11 ¼ r 21 ¼ 4, r 31 ¼ 2, Comparison of the disaggregated and aggregated formulations.
r 02 ¼ 5, r 12 ¼ 6, r 22 ¼ 7, r 32 ¼ 3
Formulation int opt better impr (%) av CPU (s)
which corresponds to the optimal schedule shown in Fig. 1.
Disaggregated 319 249 12 3.03 316
It remains to show the correctness of the extended SEE- Aggregated 251 225 6 2.19 368
formulations in general, i.e. we have to prove that an optimal
C. Artigues et al. / Computers & Operations Research 40 (2013) 1060–1063 1063

number of times a feasible (integer) solution was found. Column the disaggregated formulation obtains in general better results,
‘‘opt’’ gives the number of times the solution was proven to be although it involves a larger set of constraints. This could mean
optimal by the IP solver. Column ‘‘better’’ reports the number of that CPLEX is able to derive better cuts from the disaggregated
times the formulation obtained strictly better solutions than the formulation, or that the formulation becomes tighter as variables
other when both formulations found a feasible solution. Column are fixed in the branch-and-bound tree. In both cases, investigat-
‘‘impr’’ gives the average improvement (in relative value) on the ing additional cuts for event-based formulations appears as a
makespan for each instance counted in column ‘‘better’’. Last, promising research topic.
column ‘‘av CPU (s)’’ gives the average CPU time (including the On the other hand, recently, very good computational results
cases where the time limit is reached). The results clearly show a were obtained with standard SAT solvers applied to an RCPSP
dominance (in general) of the disaggregated formulation. formulated as a SAT problem (see [2]). Hence, for further research
it would be interesting to study whether the event-based
formulations can be used in such an approach.
4. Concluding remarks

In this note, we have shown that the start/end-based MILP-


formulation SEE given by Koné et al. [3] is incorrect since a set of References
necessary constraints representing the relative positioning of
start and end events of activities was unintentionally omitted in [1] Christofides N, Alvarez-Valdes R, Tamarit JM. Project scheduling with resource
the paper, although it was present in the integer program used for constraints: a branch and bound approach. European Journal of Operational
Research 1987;29(4):262–73.
the computational experiments. [2] Horbach A. A Boolean satisfiability approach to the resource-constrained
Additionally, we provided a disaggregated and an aggregated project scheduling problem. Annals of Operations Research 2010;181:89–107.
variant of a set of necessary constraints. Although (in theory) the [3] Koné O, Artigues C, Lopez P, Mongeau M. Event-based MILP models for
resource-constrained project scheduling problems. Computers & Operations
disaggregated formulation yields a better linear programming
Research 2011;38:3–13.
relaxation, the lower bounds obtained by both formulations on [4] Queyranne M, Schulz AS. Polyhedral approaches to machine scheduling.
the KSD30 set are equivalently poor. However, for integer solving, Technical Report No. 408/1994. Technische Universität Berlin, 1994.

You might also like