Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

European Journal of Operational Research 182 (2007) 1012–1022

www.elsevier.com/locate/ejor

Discrete Optimization

Linear programming based algorithms for preemptive


and non-preemptive RCPSP
Jean Damay *, Alain Quilliot, Eric Sanlaville
Laboratoire LIMOS-CNRS UMR 6158, Université de Clermont II, Complexe Scientifique des Cézeaux, 63173 Aubière Cedex, France

Received 13 August 2005; accepted 15 September 2006


Available online 14 December 2006

Abstract

In this paper, the RCPSP (resource constrained project scheduling problem) is solved using a linear programming
model. Each activity may or may not be preemptive. Each variable is associated to a subset of independent activities (anti-
chains). The properties of the model are first investigated. In particular, conditions are given that allow a solution of the
linear program to be a feasible schedule. From these properties, an algorithm based on neighbourhood search is derived.
One neighbour solution is obtained through one Simplex pivoting, if this pivoting preserves feasibility. Methods to get out
of local minima are provided. The solving methods are tested on the PSPLIB instances in a preemptive setting and prove
efficient. They are used when preemption is forbidden with less success, and this difference is discussed.
 2006 Elsevier B.V. All rights reserved.

Keywords: Scheduling; Resource constrained project; Preemption; Linear programming; Column generation

1. Introduction The approach developed in this paper involves


variables associated to subsets of activities that
We consider in this paper the resource con- can be simultaneously processed during the sche-
strained project scheduling problem (RCPSP). A dule. A time-indexed linear formulation of the
project is composed of activities and subject to pre- non-preemptive version of the RCPSP involving
cedence and resource constraints, and the objective these feasible subsets (here called valid antichains)
is minimizing the makespan. A precedence con- has been introduced by Mingozzi et al. [7]: prece-
straint consists in completing some activity before dence and non-preemption constraints can be sim-
another one can start. The resource constraints ply formulated in spite of a very large number of
specify that each activity requires constant amounts variables (depending on the length of the discretized
of renewable resources while being processed, these time interval [0; T], where T is an upper bound of
resources having limited capacities. the makespan, and on the number of valid anti-
chains of the project). In such approaches, the
*
resource constraints are taken into account in the
Corresponding author.
E-mail addresses: jean.damay@isima.fr (J. Damay), alain.
computation of these antichains, which allows to
quilliot@isima.fr (A. Quilliot), eric.sanlaville@isima.fr (E. Sanla- eliminate these constraints from the linear
ville). formulation.

0377-2217/$ - see front matter  2006 Elsevier B.V. All rights reserved.
doi:10.1016/j.ejor.2006.09.052
J. Damay et al. / European Journal of Operational Research 182 (2007) 1012–1022 1013

By evading the non-preemption constraints and • at any time, the total resource requirements are
partially the precedence constraints, Mingozzi not greater than the corresponding capacities,
et al. also formulate an LP-relaxation of the • precedence constraints between activities are
RCPSP, which was slightly modified by Brucker respected,
and Knust [3] and then Baptiste and Demassey [1] • if i 2 I, the number of associated time intervals is
to give the best known lower bounds of the prob- equal to 1.
lem. They both implement a destructive approach
on T and use constraint propagation techniques The I-RCPSP consists in finding an I-schedule
cooperating with the resolution of this linear relax- that minimizes the makespan Cmax (the maximum
ation through column generation. ending value of all time intervals). Without loss of
Concerning the preemptive version of the RCPSP generality, it is assumed that for any t < Cmax, at
(an activity can be interrupted and later resumed least one activity is executed at t. In Fig. 1, the pre-
without penalty), it is assumed in papers that look cedence graph (except for transitivity arcs) of an
for optimality [5,11], that all processing times are instance with seven activities and one resource is
integer and that preemption only occurs at integer presented. Suppose I = {1, 2, 5, 6, 7}. A Gantt chart
times. This may increase the optimal makespan, as is also given, representing a solution for the
in the following classical example: mono-resource instance. E.g. for activity 4, the time intervals are
project of capacity 2 with three unit-length and {[0; 1], [3, 4]}. This solution is an I-schedule (and,
unit-resource-requiring unrelated activities. The in fact, optimal among preemptive solutions – when
optimal preemptive makespan is 1.5, whereas the I = ;).
makespan with integer preemptions is 2. In this The core of our approach is the notion of subsets
paper, it is assumed that for a subset of activities, of independent activities, hereafter called antichains.
preemption is allowed and occurs at arbitrary A subset a  V is an antichain if and only if
rational times. "i, j 2 a, (i, j) 62 E (antichain property in Pthe graph
In Section 2, the model based on linear program- G). It is a valid antichain if 8k 2 R, i2a rik 6 Rk
ming and valid antichains is defined. In Section 3, (resource property). Denote by A the set of all valid
algorithms that explore the set of (preemptive or antichains of the project.
non-preemptive) feasible solutions are presented. Let us define on A a precedence relation : for
The next section provides numerical results on clas- two antichains a; b 2 A, a  b if and only if there
sical instances of the literature, and the paper ends exist two activities i, j such that i 2 a, j 2 b, and
with some conclusions and perspectives. (i, j) 2 E.
For each activity i 2 V we denote by Ai the set of
2. The valid antichain based model valid antichains containing i. Let r = (a1, . . . , aL) be
a sequence of valid antichains, and for all i 2 V, let
2.1. Notations and definitions ri ¼ Ai \ r be the set of antichains of r containing
i. r is said ordered if the order of this sequence
Let R be the set of renewable resources, with a respects the partial order given by , that is to say
time-independent capacity Rk for each resource "l, l 0 2 {1, . . . , L}, l < l0 ) al0 § al . r is said I-con-
k 2 R. Let V = {1, 2, . . . , n} be the set of n activities. secutive if and only if for each activity i 2 I, the anti-
Each activity i has a processing time pi and requires chains of ri are consecutive in r. r is said I-candidate
an amount of rik units of resource k 2 R. Denote by if it is ordered and I-consecutive. Note now that for
E the transitive closure of the precedence relation the preemptive version of the problem, a sequence is
between activities: (i, j) 2 E if and only if activity i ;-candidate if and only if it is ordered.
must be completed before the beginning of activity The I-schedule of Fig. 1 can be seen as the
j. The graph G = (V, E) is called precedence graph. sequence of valid antichains ({1, 4}, {2}, {3, 4},
Let I be a set of activities, such that i 2 I if and {3, 5}, {5, 6}, {3, 6}, {7}), valued by durations
only if preemption is not allowed for activity i. Of (1, 2, 1, 0.5, 0.5, 0.5, 1). The equivalence between
course I = ; (respectively I = V) for the preemptive schedules and sequences is stated below.
(respectively non-preemptive) version of the prob-
lem. An I-schedule is defined by, for each activity Proposition 2.1. Let r be a sequence of valid
i 2 V, a list of time intervals on which i is executed, antichains, and z be a positive vector indexed on r.
such that The couple (r, z) represents an I-schedule if and only
1014 J. Damay et al. / European Journal of Operational Research 182 (2007) 1012–1022

Fig. 1. Precedence graph and Gantt chart of a {1, 2, 5, 6, 7}-schedule.

P
if r is I-candidatePand z verifies "i 2 V, a2ri za ¼ pi . wise. p is the vector of all processing times
Its makespan is a2r za . p = (pi)i2V. This formulation relaxes the non-pre-
emption constraints, and partially the precedence
Proof 1. (() We can easily transform r into a list of constraints (any precedence constraint becomes a
intervals for each activity, weighted by the value of z disjunction).
for the associated antichains, and that respects the We say that an antichain al is active for a solution
two first properties of an I-schedule. As the z of P if and only if zl > 0. Let us denote by ACT(z)
sequence is by definition I-consecutive, the initial the set of active antichains for z.
non-preemption property for the activities of I is We now define SI as the set of solutions z of P
respected. for which ACT(z) is I-candidate.
()) If we define an event as the beginning or the
end of a time interval, an I-schedule can be Theorem 2.2. Solving the I-RCPSP consists in find-
transformed into a sequence of valid antichains by ing an element of SI that minimizes Z.
generating a new antichain at each event. An
antichain is valued by the time spent till the next Proof 2. Let z* be an element of SI minimizing Z.
event. This sequence is ordered and for each i 2 I, ACT(z*) is an I-candidate family, therefore it is
the antichains containing i are consecutive, so we associated to an I-candidate sequence, say r*, so
can define an I-candidate valid antichain sequence. that ðr ; zÞ (where z is the restriction of z* to
By construction and because of the lack of activity- ACT(z*), re-indexed *
P on r )Prepresents an I-schedule
empty time intervals, the time spent between 0 and 
of makespan a2r z
 a ¼ z
a2A a . Suppose there
the latest event is the sum of the values of z for all exists an I-schedule of makespan m 0 strictly lower.
generated antichains. h Thanks to Proposition P 2.1, we obtain a couple
(r 0 , z 0 ) such that a2r0 z0a ¼ m0 . Thus, we can obtain
By a slight abuse of notation,Pa couple (r, z) 0
a vector z + indexed on f1; . . . ; Ag, whose compo-
where r is I-candidate and "i 2 V, a2ri za P pi rep-
nents are z0þ 0 0
a ¼ za if a 2 r , 0 else. This vector
resents also an I-schedule.
belongs by definition to SI and has an objective
Let f be a family of valid antichains, and for all
value of m 0 , a contradiction with the hypothesis on
i 2 V, let fi ¼ Ai \ f be the set of antichains of f
z *. h
containing i. In the following, f is the restriction
of  to the family f. By extension, a family f of valid Let us now state the following:
antichains is said I-candidate if and only if we can
build with exactly all the antichains of f an I-candi- Proposition 2.3. If a valid antichain family f is
date sequence. I-candidate, then a (not necessarily complete) sub-
f is said complete if and only if "i 2 V, fi 5 ;. family / of f is also I-candidate.

2.2. Antichain formulation Proof 3. The valid antichain sequence r associated


to f is ordered and I-consecutive. If we remove
Mingozzi et al. presented in [7] the linear model the antichains of fn/ from r, the new sequence r 0
P for the RCPSP: (associated to /) is obviously still ordered, and for
each activity i 2 I, r0i is still consecutive in r 0 . h
ðPÞ : min Z ¼ 1  z; Az P p; z 2 RjAj
þ :

The incidence matrix Aðn; jAjÞ is defined as follows: Remark 1. The set of basis solutions (in the Simplex
Ail = 1 if activity i belongs to antichain al, 0 other- sense) for P in SI is dominant.
J. Damay et al. / European Journal of Operational Research 182 (2007) 1012–1022 1015

Indeed, let z be an element of SI , and Pz


the restriction of P to the columns indexed by
ACT(z). Pz admits at least one solution (z itself),
hence admits one optimal basis solution, which is
also a basis solution of P, with a non-increasing
value of Z. Proposition 2.3 ensures that the family
associated to this basis solution is still I-candidate. Fig. 2. Two equivalence classes for two subfamilies of valid
antichains.
In the following, we shall only consider the basis
solutions of SI . Hence, an element of SI is charac-
terized by exactly n variables of P (corresponding to graphs. The equivalence classes of the oriented pairs
its active antichains and some slack variables). ({3, 5}, {5, 6}) and ({1, 4}, {2}) are the arcs of the
The proof of the following connexity theorem is first and the second graph, respectively. Clearly
written in Appendix. It gives us further information the whole family is not V-candidate: it suffices
on the set SI of solutions of the I-RCPSP. to consider either of these two equivalence classes.
Theorem 2.4 (Connexity theorem). SI is connected Let us remark that C fða;bÞ ¼ fða0 ; b0 Þ; ðb0 ; a0 Þ 2
f
in the sense that two elements of SI are neighbours if C ðb;aÞ g.
S
and only if one can be obtained from the other by Denote by If ¼ u2f Cfu the set of all propa-
exactly one simplex pivoting. gated arcs of f through RI . Let us give two preli-
minary lemmas before giving the main theorem of
It follows that one may go from one solution of this section.
SI to any other by a sequence of simplex pivotings.
Lemma 2.5 (Sequence lemma). Let f be an I-candi-
2.3. Characterization of I-candidate antichain date family of valid antichains and r be an associated
families I-candidate sequence. Let a, b, a 0 and b 0 be four
elements of f such that ða0 ; b0 Þ 2 Cfða;bÞ and a precedes
We define now the elementary relation RI b in r. Then a 0 precedes b 0 in r.
between two directed pairs of antichains of f:
Definition 1 (Relation RI). Let a, b, a 0 , b 0 be four Proof 4. Suppose first (a, b)RI(a 0 , b 0 ), and let us con-
valid antichains of f. (a, b)RI(a 0 , b 0 ) if and only if one sider a = a 0 . Then $i 2 I, i 2 b \ b 0 na. Suppose b 0
of the following conditions is met: precedes a in r, then the antichains of ri are not
consecutive in r. The same holds if b = b 0 . In the
(i) (a, b) = (a 0 , b 0 ), general case (ða; bÞRI ða0 ; b0 Þ), a simple induction
(ii) a = a 0 and $i 2 I such that i 62 a and i 2 b, provides the result.
i 2 b0,
(iii) b = b 0 and $i 2 I such that i 26 b and i 2 a, Lemma 2.6 (Triangle lemma). If a, b, a 0 , b 0 , c in an
i 2 a0. antichain family f are such that ða0 ; b0 Þ 2 Cfða;bÞ ,
ða0 ; cÞ 62 Cfða;bÞ and ðc; b0 Þ 62 Cfða;bÞ , then ðc; a0 Þ 2 Cfðc;aÞ
Then we denote by RI the transitive closure and ðb0 ; cÞ 2 Cfðb;cÞ .
of relation RI. As RI is reflexive and symmetrical,
RI is an equivalence relation. We also set, for Proof 5. Suppose first (a, b)RI(a 0 , b 0 ), and let us con-
two antichains a, b 2 f, C fða;bÞ as the equivalence sider a = a 0 (immediately (c, a)RI(c, a 0 ) and ða; cÞ 62
class (a directed pair subset) of (a, b) for the RI Cfða;bÞ ). Then $i 2 I, i 2 b \ b 0 na. If i 62 c, then by def-
relation. inition (b, c)RI(b 0 , c). If i 2 c, then (a 0 , c)RI(a, b), a
f
Let ða0 ; b0 Þ 2 Cða;bÞ . Informally, this means that, if contradiction with the hypotheses. So (b, c)RI(b 0 , c),
a precedes b in a sequence r associated to the I-can- and ðc; bÞ 62 Cfða;bÞ . The same reasoning holds for
didate family f, then I-consecutiveness entails that a 0 b = b 0 . In the general case (ða; bÞRI ða0 ; b0 Þ), an induc-
precedes b 0 in r (see sequence lemma below). tion provides the result.
Let us consider now the same instance as in
Fig. 1, except that I = V. In Fig. 2, antichains of Theorem 2.7 (Characterization theorem). A valid
the family determined by the schedule given in antichain family f is I-candidate if and only if both
Fig. 1, are represented as the nodes of two antichain the following conditions are met:
1016 J. Damay et al. / European Journal of Operational Research 182 (2007) 1012–1022

(C1) for all a, b 2 f, a 5 b, such that neither (a, b) true, and C2 becomes: the antichain subgraph
nor (b, a) belongs to If , we have ðb; aÞ 62 Cfða;bÞ , (f, f) does not contain any oriented cycle.
(C2) the antichain subgraph ðf ; If Þ does not contain
any oriented cycle. 2.4. Incremental test of feasibility for simplex
pivotings

We now present an incremental test to check as


Proof 6. This proof is inspired from [2,9] involving
simply as possible if, starting from some element
ordered interval hypergraphs.
of SI (basis of P), the next basis of P obtained
()): Let r be an I-candidate sequence associated
by simplex pivoting is still I-candidate.
to f: C1 comes directly from the sequence lemma
Let f be a basis of SI , ao the leaving variable, ae
with (a 0 , b 0 ) = (b, a) in r. To prove C2, suppose there
the entering variable for some simplex pivoting.
exists an oriented cycle in ðf ; If Þ. Then it is
Note first that thanks to Proposition 2.3, the
impossible to find a total order of all antichains of
removal of the antichain ao of the I-candidate active
f which includes If , so impossible to find a
antichain family f does not withdraw the I-candi-
sequence that is ordered and that respects I-
date property. The following corollary may be
consecutiveness.
applied on family fnao and ae to test the feasibility
((): Let us suppose that both conditions C1 and
of the next basis.
C2 are satisfied. In case If is a total order, the result
is obvious. Otherwise, we may choose a and b in f Corollary 2.8 (Incrementality corollary). Let f be
such that neither (a, b) nor (b, a) is in If . We shall an I-candidate valid antichain family and ae 62 f be a
prove that it is possible to insert either (a, b) or (b, a) valid antichain. Then the family f 0 = f [ ae is I-
into If without losing condition C2. candidate if and only if
Suppose If [ Cfða;bÞ contains some oriented cycle
0
Cab and If [ Cfðb;aÞ contains some oriented cycle (C 01 ) for all a 2 f ; ðae ; aÞ 62 Cfða;ae Þ ,
Cba. We may choose Cab and Cba in such a way that (C 02 ) there is no oriented cycle containing ae in the
their lengths are minimal. Clearly Cab must contain antichain subgraph ðf 0 ; If 0 Þ.
at least one oriented pair (a 0 , b 0 ) of Cfða;bÞ . It also
must be of cardinality larger than 2 thanks to
condition C1. Let a and b be respectively the Proof 7. The part (Only if) is trivial thanks to the
predecessor of a 0 and the successor of b 0 in Cab characterization theorem for f 0 . For the other part,
(a 5 b 0 and b 5 a 0 ). Because of the minimality of condition C1 for f and C 01 ensures condition C1 for
Cab, ða; b0 Þ 62 Cfða;bÞ and because its cardinality can- f 0 . For condition C2 of f 0 , suppose there is an ori-
not be 2, ða0 ; aÞ 62 Cfða;bÞ . The triangle lemma with ented cycle C in ðf 0 ; If 0 Þ. Assuming C is of minimal
c = a may be applied to provide ða; aÞRI ða; a0 Þ. The length, it clearly includes an arc of a class of an arc
same reasoning applied on b leads to the relation: containing ae. As in the proof of the characteriza-
ðb; bÞRI ðb0 ; bÞ. So (a 0 , b 0 ) can be replaced by (a, b) in tion theorem, we demonstrate that there exists an
f
Cab. Suppose another arc ða00 ; b00 Þ 2 Cab \ Cða;bÞ . oriented cycle containing this arc itself, so contain-
Then replacing it again by (a, b) implies another ing vertex ae. h
shorter oriented cycle, and a contradiction.
For the preemptive version, (C 01 ) is always true,
Cab can be written Cab ¼ ða; bÞ [ C0ab , where C0ab is
and (C 02 ) becomes: there is no oriented cycle contain-
a path from b to a made only with arcs of If . By
ing ae in the antichain subgraph ðf 0 ; 0f Þ.
proceeding the same way with Cba, Cba ¼ ðb; aÞ[
C0ba where C0ba is a path from a to b made only with
3. Building of feasible schedules
arcs of If . But the concatenation of C0ab and C0ba
makes a cycle in ðf ; If Þ, a contradiction . For sake
3.1. A descent algorithm based on simplex pivoting
of simplicity, notation If is kept, even after adding
such arcs of an equivalence class. We reiterate on
We have already established that solving the
the next oriented pair (a, b) until If is a total
problem is equivalent to minimizing Z on SI , that
order. h
SI is connected, and that an incremental test of
In the preemptive version of the problem, I = ;, the I-candidate property of an antichain family
and "a, b 2 f, Cfða;bÞ ¼ fða; bÞg. Thus, C1 is always can be implemented. We can now present a descent
J. Damay et al. / European Journal of Operational Research 182 (2007) 1012–1022 1017

algorithm based on the simplex. Indeed, if we have of a at the end of s is ordered. Otherwise, let us
an initial solution z0 of SI , the idea of this algo- define the six following sub-antichains:
rithm is to check if the switch of variables proposed
MINðal Þ ¼fi 2 al such that 9j 2 a;ði;jÞ 2 Eg;
by the simplex pivoting will lead to a still I-candi-
MINðaÞ ¼fi 2 a such that 9j 2 al ;ði;jÞ 2 Eg;
date associated antichain family. If the incremental
test proves negative, the switch does not occur, MAXðal Þ ¼fi 2 al such that 9j 2 a;ðj;iÞ 2 Eg;
and we try another one proposed by the simplex. MAXðaÞ ¼fi 2 a such that 9j 2 fal ;. ..;aq g; ðj;iÞ 2 Eg;
Otherwise, the classical simplex pivoting is com- EQðal Þ ¼fi 2 al n MINðal Þ n MAXðal Þg;
puted. The process is iterated until no candidate EQðaÞ ¼fi 2 a n MINðaÞ n MAXðaÞg:
variable verifies the test: this situation corresponds
to a local minimum of the problem. Proposition 3.1. Given an ordered sequence
As the number of valid antichains is very large s = (a1, . . . , al, . . . , ak) and an antichain a 62 s, if we
and a few of them are interesting for our problem, state:
we set up a column generation module. Each dual
a0l ¼ MINðal Þ [ MINðaÞ [ EQðal Þ [ EQðaÞ;
variable pi is associated to activity P i 2 V and an
entering column ae has to verify i2ae pi > 1 due a0 ¼ MAXðal Þ [ MAXðaÞ [ EQðal Þ [ EQðaÞ;
to our formulation of P. Hence, the subproblem is
a multidimensional knapsack-stable problem: each then
activity i has a unit profit pi and a multidimensional
weight rik ; k 2 R. The disjunctions (i, j) are defined (i) a0l and a 0 are antichains,
by some resource constraint violations (9k 2 R; (ii) the sequence ða1 ; . . . ; a0l ; . . . ; ak Þ is still ordered,
rik þ rjk > Rk ) and the precedence relations between (iii) a0 §a0l .
activities ((i, j) 2 E or (j, i) 2 E), or can be strength-
Proof 8. It is only a matter of applying the defini-
ened through constraint propagation techniques
tions, keeping in mind that s is ordered and that a
(see [1,4,12]), at least when a better upper bound
couple of activities of an antichain cannot be linked
of the makespan is found. A preprocessing filtering
by a precedence relation of E, which is transitive. h
step is added on this subproblem, ensuring that the
generated column ae does not lead to an oriented Note first that a0l and a 0 are not necessarily valid,
cycle in the graph induced by the current associated even if al and a are. This fact is discussed in Section
family (without computing and removing ao) plus 3.4. Thanks to Proposition 3.1, for a given a 2 f
ae. This preprocessing is removed to check if a local located just after the subsequence s, we proceed iter-
minimum is indeed reached. atively until the modified s, concatenated with the
The aim of the following subsections is to show final a 0 is an ordered sequence. By induction on a
how to get out of these local minima. (from the second to the last antichain of f in its ini-
tial arbitrary order), we provide from the initial
3.2. Reconstruction algorithm family f an ordered sequence r (of cardinality L)
of non-valid antichains. This reconstruction algo-
We build here from the family f (of cardinality L) rithm has a complexity of Oðn2 L3 Þ (with L 6 n),
associated to a solution of the relaxed problem P, since the computing of our six sub-antichains for
an I-candidate sequence r, allowing some antichain al and a (in position l 0 in f) is Oððl0  lÞn2 Þ.
modifications. In [8], the authors generate their In Table 1, we give an example of reconstruction
schedules by applying list algorithms with priority algorithm applied to the instance shown in Fig. 1,
lists derived from the order of the jobs in the solution I = V, and on the represented family f, solution of P:
of a Lagrangian relaxation. The following method is
inspired from Moukrim and Quilliot [10] (concerning • Line 1: the family of active antichains in an arbi-
the identical parallel machines scheduling problem). trary order (makespan 6.5).
The idea is to build step by step an ordered • Line 2: the sequence after reconstruction (remov-
sequence of antichains. Let us consider an ordered ing already present antichains).
subsequence s = (a1, . . . , ak), k < L of antichains of • Line 3: the sequence after treatment of non-valid
f, and an antichain a 2 fns. We define al as the first antichains (see Section 3.4).
antichain of s such that a  al. If al does not exist, • Line 4: the sequence after treatment of non-con-
then the sequence resulting from the concatenation secutiveness (see Section 3.4).
1018 J. Damay et al. / European Journal of Operational Research 182 (2007) 1012–1022

Table 1 In Table 2, an example of perturbation algorithm


A complete reconstruction for the instance of Fig. 1, I = V is given, for an element z of SI (makespan 8),
applied on instance of Fig. 1, with I = ;:

• Line 1: the ordered sequence of active antichains


of z (makespan 8), and the rejected antichain.
• Line 2: the sequence after perturbation (removing
already present antichains).
• Line 5: the sequence after loading in P (make- • Line 3: the sequence after treatment of non-valid
span 7: optimal non-preemptive makespan). antichains (see Section 3.4).
• Line 4: the sequence after loading in P (make-
3.3. Perturbation algorithm span 7).

During the descent algorithm described in Sec-


tion 3.1, one may observe that some valid and sim- 3.4. Dealing with non-valid antichains and
plex candidate antichain ae is not allowed to enter non-I-consecutive sequences
the basis f instead of an antichain ao because of an
oriented cycle in (f [ {ae}n{ao}, f) containing ae. In Propositions 3.1 and 3.2, the created anti-
The idea of this algorithm is to force the entering chains a0l , a 0 or a0l may not be valid because the
of ae. Indeed, ae may be present in some ‘‘good’’ resource requirements are not necessarily lower than
solution, but some antichains of f forbid ae to enter or equal to the corresponding capacities. One may
the basis through one simplex pivoting. create in this case two valid antichains: for example,
First of all, we have to get the corresponding I- one would define a0l ¼ MINðal Þ [ EQðal Þ and
candidate sequence r from the associated valid anti- a00l ¼ MINðaÞ [ EQðaÞ to be inserted instead of al.
chains f of the current basis solution. To do that, we Another idea considers these antichains as represen-
only have to compute a topological order in the tatives of a sub-family of valid antichains. Indeed,
antichain subgraph (f, f). we can easily compute all maximal valid antichains
The algorithm consists in building a sequence r 0 included in a non-valid antichain. The advantage is
given by the following proposition (for any al, nota- that we can choose only a subset of them, without
tions of Section 3.2 are used): violating the ordered property of the whole created
Proposition 3.2. Given an ordered sequence sequence called r here. This choice is conditioned by
r = (a1, . . . , al, . . . , aL) and an antichain a 62 r. For the fact that we have to ensure the I-consecutiveness
any al, l 6 L, we define: of this sequence.
Note that for the preemptive version, r is already
a0l ¼ MINðal Þ [ MINðaÞ [ EQðal Þ [ EQðaÞ; ;-consecutive. For I 5 ;, consider some non-I-con-
a0l ¼ MAXðal Þ [ MAXðaÞ: secutive ordered sequence r. For each activity i 2 V,
Then a0l and a0l are antichains and the sequence we associate a list of index intervals of the anti-
r0 ¼ ða01 ; . . . ; a0L ; a; a01 ; . . . ; a0L Þ is ordered. chains of ri in r. The idea of this step is to enlarge
these intervals for all activities i in I as much as pos-
Proof 9. As for Proposition 3.1, it is a matter of sible, in order to finally have only one interval, and
applying the definitions, first to prove that ða01 ; . . . ; ensure the I-consecutiveness of the sequence, hence
a0L Þ (respectively ða01 ; . . . ; a0L Þ) is ordered, so that for its I-candidate property.
any l, m 2 {1, . . . , L} with l < m, a0m § a0l (respectively For an activity i 2 I and an index interval of ri,
a0m § a0l ), and then that the insertion of a preserves this enlargement is processed by trying to add i to
this property. This is left to the reader. h
Table 2
We build this way an ordered sequence r 0 (of car- A complete perturbation for the instance of Fig. 1
dinality 2L + 1) of non-valid antichains, containing
the desired entering column a = ae. Note that a0l and
a0l depend only on the original sequence r and of a,
hence the order of building is not important. This
perturbation algorithm has a complexity Oðn2 L2 Þ.
J. Damay et al. / European Journal of Operational Research 182 (2007) 1012–1022 1019

the left and right neighbour antichains of the inter- In this method, Ki, Kr and Kp are given parame-
val, with respect to the resource constraints and the ters representing the number of initial solutions, the
order property of r. Some intervals of an activity number of reconstructions for each initial solution
i 2 I may be connected through this enlargement. and the number of perturbations for each recon-
If there is only one interval at the end of this pro- struction, respectively.
cess, then the antichains of i are consecutive. Other- This approach is of neighbourhood search kind
wise, we select one of these intervals (heuristically (e.g. Taboo). The reconstruction algorithm (after
the one with maximum cardinality) and simply the solving of P) may be considered as a diversifica-
remove i from the others. tion stage, whereas perturbation is similar to the
search of a better solution in the neighbourhood
3.5. Global method to escape a local minimum, except that a perturba-
tion is equivalent to several moves in a classical
The global method described in Algorithm 1 neighbourhood search.
computes first an initial (non-preemptive) solution Finally note that each solving of P provides a
(line 2). In our implementation, this is done by a list lower bound of the optimal makespan, and that
algorithm with random priority. It also involves the the algorithm is stopped as soon as the value of
descent (Section 3.1), reconstruction (Section 3.2) the best solution is equal to this lower bound.
and perturbation (Section 3.3) algorithms. Note
that all I-candidate families corresponding to the 4. Computational experiments
reconstructed or perturbated sequences are also
obviously complete, thus they can be reloaded in The tests of the algorithms presented in this
basis of P. Note also that the column chosen to per- paper have been performed on a Duron 1 GHz
turb the solution is the first simplex candidate one through a C++ Code compiled by g++. Our
which was rejected by the incremental test. algorithms have been tested on the 480 instances
of the standard PSPLIB benchmarks [6] with
Algorithm 1. Global method
n = 30 or 60. For each instance, Ki initial feasible
Require Ki, Kr, Kp
solutions are computed: INIT is the minimum
1: nbInit 1 makespan of them. OPT is the makespan of
2: compute an initial randomized I-candidate the optimal solution for each instance, if we have
family it. Note that our algorithm does not use any
3: nbReconst 0 information from these hypothetical previously
4: nbPerturb 0 known optimal values. The following values are
5: perform a descent with incremental tests to obtained for different values of Ki, Kr, Kp (see Sec-
stay within SI tion 3.5):
6: if nbPerturb < Kp then
7: perturb the local minimum into another • SOL makespan of the best solution obtained by
I-candidate family the global algorithm (within time limit of
8: nbPerturb nbPerturb + 1 300 seconds).
9: goto step 5 • LB lower bound obtained by solving P. This
10: end if value is computed several times during the algo-
11: if nbReconst < Kr then rithm (before each reconstruction), and the con-
12: solve P from the current solution straint propagation mentioned in Section 3.1
13: reconstruct from this solution an I-candi- can improve the lower bound obtained. The best
date family one is stored in LB.
14: nbReconst nbReconst + 1
15: goto step 4 All gaps are given as percentages in average, with
16: end if the maximum value between parentheses, and the
17: if nbInit < Ki then number of times the two values are equal is pro-
18: nbInit nbInit + 1 vided too. Note that a descent process is stopped
19: goto step 2 if a local minimum is found or if 10 000 antichains
20: end if have been successively rejected by the incremental
21: give the best solution found so far test.
1020 J. Damay et al. / European Journal of Operational Research 182 (2007) 1012–1022

We define two sets of hard instances called hard1 4.1.2. Numerical results
and hard2. Let us first recall one of the three A complete study of our algorithm is performed
parameters of ProGen, the standard project genera- for the 480 instances of 30 activities (PSPLIB30),
tor for the PSPLIB, called RS (resource strength). for which the optimal makespan is always obtained
The capacity of resource k is defined as by the branch and bound algorithm presented in
Rk ¼ Rmin max
k þ roundðRS  ðRk  Rmin
k ÞÞ, where Rk
min
is Section 4.1.1. These optimal makespans are avail-
the maximum resource requirement of an activity, able on http://www.isima.fr/damay.
and Rmax
k is the maximum requirement of activities In Table 3, each line presents our results for one
simultaneously executed in an earliest start sche- set of given parameters. As the best results are
dule. RS takes the following values {0.2, 0.5, obtained when reconstruction and perturbation
0.7, 1}. In case RS = 1, the earliest start schedule are combined, the last two lines detail the results
is feasible. for hard instances. The reconstruction gap is
42.1(96.6). Note that for these values of Ki, Kr, Kp,
• An instance belongs to hard1 if INIT 5 LB. It the gap between OPT and LB is 2.00(21.16) (294
excludes the instances with RS = 1. equalities), and for information the number of sim-
• An instance belongs to hard2 if RS 2 {0.2, 0.5}, plex pivotings, degeneracy pivotings, generated col-
for which it is well known that the gap between umns and rejected columns by the incremental test
the best known upper and lower bounds of the are, respectively 17(157), 7(85), 273(2623) and 12
literature (for n P 60 and V-RCPSP) is 400(315 000).
maximum. The results of the algorithm with these final val-
ues of Ki, Kr, Kp on the instances of 60 activities
Finally, let us define the reconstruction gap as the (PSPLIB60), for which we do not have the optimal
average gap between the makespan of the recon- makespan, is given in Table 4. We can expect that
structed solution and of the value of the solution our algorithm also produces feasible solutions of
of P from which it was computed. very good quality, since the gap between OPT and
LB is much larger than the gap between SOL and
4.1. The preemptive case OPT for n = 30.
The number of simplex pivotings, degeneracy
4.1.1. A branch and bound algorithm for the pivotings, generated columns and rejected columns
preemptive version are respectively 141(1326), 60(390), 931(15 342)
A branch and bound algorithm in case I = ; was and 59 500(428 000). The reconstruction gap is
implemented to find the optimal preemptive solu- 56.22(110.94).
tions of our instances, or at least improve our best
known preemptive lower and upper bounds. 4.2. The non-preemptive case
Remember that optimal values are not available
from the PSPLIB itself. A node of the search tree Table 5 reports the results of our algorithms on
consists in a set of forbidden disjunctions, that is PSPLIB30 in the non-preemptive case (I = V).
to say the associated antichains of the solution of The optimal values of these instances are available
P for this node must not contain these couples of on the web page of PSPLIB, cf. [6]. The perturba-
activities. If the graph induced by these associated tion algorithm is not well adapted to this case, so
antichains does not contain any oriented cycle, then its results are not presented here. As a matter of
this solution belongs to S; (leaf node). Otherwise, fact, we observe experimentally that most of the
we consider a set of disjunctions producing an ori- rejected columns for this test are not allowed to
ented cycle of minimal length (chordless): for exam- enter the basis because of the non-consecutivity of
ple if we detect the antichain oriented cycle the antichains containing the same activity, and
({1, 2, 7, 8}, {3, 4, 9}, {5, 6}) due to the following pre- not because of an oriented cycle in the antichain
cedence relations between activities: {(2, 3), (4, 5), graph.
(6, 1)} 2 E, then the corresponding forbidden dis- Only with reconstructions, the gap between
junctions added to the three descendant nodes are OPT and LB is 3.72(30.16) (243 equalities), and also
respectively {1, 2}, {3, 4} and {5, 6}. The set of for- larger than SOL/OPT. The reconstruction gap
bidden disjunctions may be enlarged by graph is 80.5(230.0). The number of simplex pivotings,
techniques. degeneracy pivotings, generated columns and
J. Damay et al. / European Journal of Operational Research 182 (2007) 1012–1022 1021

Table 3
Numerical results for PSPLIB30 in preemptive case
Ki Kr Kp inst.(#) INIT/LB #eq. SOL/LB #eq. SOL/OPT #eq. CPU (second)
1 0 0 All(480) 18.15(97.12) 139 4.69(52.63) 245 2.37(34.88) 291 0.5(5)
30 0 0 All(480) 11.33(48.78) 142 2.44(28.57) 272 0.23(6.11) 418 3.0(24)
1 20 0 All(480) 17.91(92.11) 139 2.32(31.75) 289 0.29(13.51) 415 2.4(26)
1 0 20 All(480) 18.15(97.12) 139 2.83(26.98) 267 0.59(16.22) 385 1.5(13)
1 20 5 All(480) 17.90(92.11) 139 2.15(26.98) 293 0.15(5.41) 442 9.9(300)
1 20 5 Hard1(341) 25.19(92.11) 0 3.03(26.98) 154 0.21(5.41) 303 13.9(300)
1 20 5 Hard2(240) 29.13(92.11) 6 4.05(26.98) 76 0.30(5.41) 202 17.4(300)

Table 4
Numerical results for PSPLIB60 in preemptive case
Ki Kr Kp inst.(#) INIT/LB #eq. SOL/LB #eq. CPU (second)
1 20 5 All(480) 19.45(104.62) 141 2.38(21.09) 334 103.4(300)
1 20 5 Hard1(339) 27.54(104.62) 0 3.37(21.09) 193 146.2(300)
1 20 5 Hard2(240) 33.85(104.62) 3 4.68(21.09) 100 193.5(300)

Table 5
Numerical results for PSPLIB30 in non-preemptive case
Ki Kr inst.(#) INIT/LB #eq. SOL/LB #eq. SOL/OPT #eq. CPU (second)
1 0 All(480) 17.99(92.31) 139 15.21(92.11) 144 10.74(69.77) 158 1.0(16)
30 0 All(480) 11.19(48.78) 142 6.77(36.54) 207 2.75(22.06) 267 24.3(300)
1 30 All(480) 17.87(92.31) 139 5.76(31.75) 221 1.90(17.07) 291 67.47(300)
1 30 Hard1(341) 25.16(92.31) 0 8.11(31.75) 82 2.67(17.07) 152 95.0(300)
1 30 Hard2(240) 29.04(92.31) 6 10.22(31.75) 32 3.37(17.07) 77 93.6(300)

rejected columns are, respectively 16(58), 6(33), feasibility test. Other combinatorial problems may
230(552) and 25 800(160 000). be formulated as linear programs with additional
These gaps can be explained by the very high conditions on the column generation. Our method
number of columns rejected by the non-preemptive should behave well for these, provided the feasibil-
test. As a result, the current solution is very often ity test is not too demanding, as in the preemptive
a local minimum. The reconstruction algorithm, case.
used for diversification, improves the result but
not sufficiently to obtain a really small gap. An
adaptation of the perturbation algorithm might be Appendix. Proof of the connexity theorem
useful. However, as mentioned above, it is not easy
to design. This proof is written for the case when the con-
straints of P are equalities. The proof for inequali-
5. Concluding remarks ties is based on the same scheme, but it is simpler to
identify basis solutions in the first case, especially
This paper presents a characterization of the without slack variables.
solution set for the preemptive and non-preemptive The proof is to show that there exists a sequence
RCPSP, based on a linear programming model. An of basis solutions of SI , corresponding to a
exploration algorithm of this solution space has sequence of Simplex pivotings, leading from any
been developed, in order to visit as many local min- solution of SI to the solution corresponding to
ima as possible. The experimental results are very the family of singleton antichains, which evidently
good in the preemptive case. The gap is much larger belongs to SI .
for non-preemptive activities. This is due to the dif- Suppose there exists a basis solution of P in SI
ficulty for a given improving column to pass the that does not verify this property. Then we choose
1022 J. Damay et al. / European Journal of Operational Research 182 (2007) 1012–1022

such a solution z and the I-candidate sequence r asso- pivoting neighbourhood operator, going from z to
ciated to its antichain family f in basis, such that: an optimal solution z* such that z l > 0, so for
which al is inside the basis. Furthermore, the inser-
• the number l0 of singleton antichains in the tions of al between al0 and al0 þ1 and of al0 between
beginningPof r is maximal; ak0 and ak0 þ1 give trivially a sequence of antichains
• the sum al 2f jal j is minimal, for l0 fixed. still I-candidate. Thanks to Proposition 2.3, all solu-
tions of S correspond to I-candidate families.
Suppose l0 P 1 and $l > l0, $i0 6 l0, i0 2 al. Let k The number of basis
 solutions
 taking their anti-
be the highest index of antichains in r such that chains in f 0 is finite ðnþ1Þðnþ2Þ
, hence we can find a
2
i0 2 ak. Replacing antichain ak by akn{i0} in the fam-
ily f, we obtain a family denoted by fk in which the n sequence k, k 2 N, tending toward 0 such that the
associated incidence vectors are still linearly inde- sequences S k are identical. We deduce that there
pendent, since the new column is a linear combina- exists a sequence of basis solutions in SI corre-
tion of the old one with an other ({i0}). fk also sponding to a sequence of simplex pivotings, going
provides a new sequence still trivially I-candidate from z to a solution z* such that al is inside the basis.
P It implies a contradiction with the maximality of l0.
(when i0 2 I or not). Moreover, the sum al 2fk jal j
is lower, so a contradiction on the minimality of
the sum for f. References
Hence, the basis incidence matrix corresponding
to the family f has the following shape (with l0 P 0): [1] P. Baptiste, S. Demassey, Tight LP bounds for resource
constrained project scheduling, OR Spectrum 26 (2004) 251–
262.
[2] F. Bendali, A. Quilliot, Representation of ordered families of
intervals, and applications, RAIRO, Recherche Opérationn-
elle/Operations Research 31 (1) (1997) 73–101.
[3] P. Brucker, S. Knust, A linear programming and constraint
propagation-based lower bound for the RCPSP, European
Journal of Operational Research 127 (2000) 355–362.
[4] S. Demassey, C. Artigues, P. Michelon, Constraint propa-
gation based cutting planes: An application to the resource-
constrained project scheduling problem, INFORMS Journal
on Computing 17 (1) (2005) 52–65.
[5] E. Demeulemeester, W. Herroelen, An efficient optimal
solution procedure for the preemptive resource-constrained
project scheduling problem, European Journal of Opera-
Let  be a strictly positive real number. We define tional Research 90 (1996) 334–348.
the vector z by "al 2 f, zl ¼ zl þ , so that the time [6] R. Kolisch, A. Sprecher, PSPLIB – a project scheduling
durations associated to the antichains of f are all library, European Journal of Operational Research (1996)
non-null, that is to say they are all active. This vec- 205–216.
tor z is a solution of the linear problem in which the [7] A. Mingozzi, V. Maniezzo, S. Ricciardelli, L. Bianco, An
exact algorithm for the resource-constrained project sched-
constraints are: uling based on a new mathematical formulation, Manage-
X
ment Science 44 (1998) 714–729.
zl ¼ pi þ jfi j  : ð1Þ
[8] R.H. Möhring, A.S. Schulz, F. Stork, M. Uetz, Solving
al 2Ai
project scheduling problems by minimum cut computations,
Let i1 be the smallest index of the activities such that INFORMS Management Science 49 (3) (2003) 330–350.
i1 2 al0 þ1 (i1 > l0). Let k 0 be the highest index of the [9] A. Moukrim, A. Quilliot, A relation between multiprocessor
scheduling and linear programming, Order 14 (1998) 269–278.
antichains in f such that i1 2 ak0 . Let us define the [10] A. Moukrim, A. Quilliot, Optimal preemptive scheduling on
valid antichains al and al0 such that al = {i1} and a fixed number of identical machines, Operations Research
al0 ¼ ak0 n i1 , and the family f 0 ¼ f [ ffl ; fl0 g. Letters 33 (2005) 143–150.
Let us denote by P the linear problem defined by [11] C. Le Pape, Ph. Baptiste, Resource constraints for preemp-
the constraints (1) and the objective function max zl. tive job-shop scheduling, Constraints 3 (4) (1998) 263–287.
[12] A. Schoo, O. Thiele, P. Brucker, S. Knust, A branch and
The solving of P by the simplex, in the variable bound algorithm for the resource-constrained project sched-
space reduced to those associated to f 0 , provides a uling problem, European Journal of Operational Research
sequence S of basis solutions linked by the simplex 107 (1998) 272–288.

You might also like