Explanation-Based Repair Techniques For Solving Dynamic Scheduling Problems
Explanation-Based Repair Techniques For Solving Dynamic Scheduling Problems
Explanation-Based Repair Techniques For Solving Dynamic Scheduling Problems
Abdallah Elkhyari
1
and Christelle Gu eret
1,2
and Narendra Jussien
1
1
Ecole des Mines de Nantes BP 20722 F-44307 Nantes Cedex 3 France
2
IRCCyN Institut de Recherche en Communications et Cybern etique de Nantes
email: {aelkhyar, gueret, jussien}@emn.fr
Keywords: Dynamic scheduling, repair-based techniques, explanation-based constraint programming,
Resource-Constrained Project Scheduling Problem.
Introduction
Scheduling problems have been studied a lot over the last
decade. Due to the complexity and the variety of such
problems, most works consider static problems in which
activities are known in advance and constraints are xed.
However, every scheduling problem is subject to unexpected
events (consider for example a new activity to schedule, or
a machine breakdown). In these cases, a new solution is
needed in a preferably short time taking these events into
account and as close as possible to the current solution.
In this paper, we present an exact approach for solv-
ing dynamic scheduling problems. This approach uses
explanation-based constraint programming and operational
research techniques. Our tools have been designed for a gen-
eral scheduling problem: the Resource-Constrained Project
Scheduling Problem (RCPSP).
Problem description
The RCPSP can be dened as follows: let A = {1, . . . , n}
be a set of activities, and R = {1, . . . , r} a set of renew-
able resources. Each resource k is available in a constant
amount R
k
. Each activity i has a duration p
i
and requires
a constant amount r
ik
of the resource k during its execu-
tion. Preemption is not allowed. Activities are related by
precedence constraints, and resource constraints require that
for each period of time and for each resource, the total de-
mand of resource does not exceed the resource capacity. The
objective considered here is to nd a solution for which
the end of the schedule is minimized. This problem, de-
noted by PS/prec/C
max
(Brucker et al. 1999), is NP-hard
(Blazewicz, Lenstra, & Rinnoy Kan 1983).
The static RCPSP has been extensively studied (Brucker et
al. 1998). A major difculty in this problem is to maintain
the resource limitation over the horizon time. Several deduc-
tion rules exist: core-times (Klein &Scholl 1999), energetic-
reasoning (Erschler &Lopez 1990), task-interval (Caseau &
Laburthe 1996), etc.
The dynamic RCPSP is seldom studied. Two classical
methods are used to solve it:
recomputing a new schedule each time an event occurs.
This is quite time consuming and may lead to a solution
quite different from the previous one.
building a partial schedule and completing it progres-
sively as time goes by (like in on-line scheduling prob-
lems). In this case the schedule cannot be constructed in
advance.
Recently, (Artigues & Roubellat 2000) introduced a for-
mulation of the RCPSP based on a ow network model. They
developed a polynomial algorithm based on this model in or-
der to be able to insert an unexpected activity.
Explanation-based constraint programming
Constraint programming techniques have been widely used
to solve scheduling problems (Klein 1999). Constraint pro-
gramming is based upon the notion of constraint satisfaction
problems.
A constraint satisfaction problem (CSP) consists in a set
V of variables dened by a corresponding set of possible
values (the domains D) and a set C of constraints. A solu-
tion for the CSP is an assignment of the variable such that all
the constraints are satised.
Explanation-based constraint programming (e-
constraints) has already proved its interest in many
applications (Jussien 2001). This section recalls what is an
explanation and how it can be used.
Explanations
In the following, we consider a CSP (V, D, C). Decisions
(variable assignments) made during the enumeration phase
of the resolution of this problem correspond to adding or
removing constraints fromthe current constraint system(eg.,
upon backtracking).
A conict set (a.k.a. nogood) is a subset of the cur-
rent constraints system of the problem that, left alone, leads
to a contradiction (no feasible solution contains a con-
ict set). A conict set divides into two parts: a subset
of the original set of constraints (C
C) and a sub-
set of decision constraints introduced so far in the search:
(C
v
1
= a
1
v
k
= a
k
).
In a conict set composed of at least one decision con-
straint, a variable v
j
is selected and the previous formula
can be rewritten as
1
: C
i[1..k]\j
(v
i
= a
i
) = v
j
= a
j
1
A conict set that does not contain such a constraint denotes
an over-constrained problem.
The left hand side of the implication constitutes an elim-
inating explanation for the removal of value a
j
from the
domain of variable v
j
and is noted expl(v
j
= a
j
).
Classical CSP solvers use domain-reduction techniques
(removal of values). Recording eliminating explanations
is sufcient to compute conict sets. Indeed, a contradic-
tion is identied when the domain of a variable v
j
is emp-
tied. A conict set can easily be computed from the elim-
inating explanations associated with each removed value:
aD
v
j
expl(v
j
= a)