Title: Thierry PETIT
1 Generalization of Constructive Disjunction for
Over Constrained Scheduling Problems
Thierry PETIT ILOG - LIRMM Jean-Charles
REGIN ILOG Christian BESSIERE LIRMM
2Over Constrained Problems
- No solution satisfies all the constraints
- Some constraints have to be relaxed
- Hard constraints must be satisfied
- Soft constraints can be relaxed
3Over Constrained Problems
- Activities A1, A2, A3 require a unary resource R
- Temporal constraints
- The duration of each Ai is at least 5
- A1 and A2 start before 3
- A3 ends at 12
5
5
Time
3
12
4Over Constrained Problem
- Relaxation
- OC aspect in the
- propagation
- All the soft constraints
- are relaxed
- Global objective function
- on the relaxed constraints
- ? 1 over-constrained
- problem is solved
- Decomposition
- OC aspect in the search
- The relaxation is handled
- by hand
- - add Ci while fail
- - if fail then relax Ci
- ? n satisfaction
- problems are solved
-
5Over Constrained Problem
- Decomposition
- Realistic approach but no dedicated algorithms
-
- Relaxation
- Good existing algorithms but unrealistic
approach how to characterize and provide
solutions that satisfy the user ?
? mix the two approaches ?
6Applications
- Applications involving global soft constraints
- Each soft constraint affects widely the problem
- Example car-sequencing
Options of each car (HARD)
Sequence constraints (SOFT)
Hard
Soft
Number of cars (HARD)
7Applications
- Applications involving global soft constraints
- Difficult to solve with a pure relaxation
approach - Decomposition methods are more adapted
8Applications
- Application involving Local soft constraints
- Example scheduling
Resources (SOFT)
Hard
Soft
9Applications
- Application involving Local soft constraints
- Decomposition methods can be used
- Relaxation methods can be used
10Simple Relaxation Framework Max-CSP
- Goal to find a solution minimizing the number of
violated constraints - Example
- Activities A1, A2, A3
- C1 A2 starts after end of A1
- C2 A3 starts after end of A2
- C3 A1 starts after end of A3
- Optimal Solution 1 violation
11Constructive Disjunction
- Applications
- Over-constrained Scheduling Problems (generalized
C.D.) - General scheduling problems alternative
resources - Principle
- C1 ? ... ? Cn
- At least one constraint must be satisfied
- Values violating the n constraints can be removed
12Constructive Disjunction
- Example D(x)a,b,c
- C1 DC1(x) D(x)\a,b c
- C2 DC2(x) D(x)\a b,c
- C3 DC3(x) D(x)\a,b c
- C1 ? C2 ? C3
- D(x) D(x)\a,b?a?a,b DC1(x) ?
DC2(x) ? DC3(x) b,c
13Generalized Constructive Disjunction
- C1 ? ... ? Cn
- At least k constraints must be satisfied (?
Max-CSP) - Values violating a number of constraints v gt
n-k can be removed
14Generalized Constructive Disjunction
- Example D(x)a,b,c
- C1 DC1(x) D(x)\a,b c
- C2 DC2(x) D(x)\a b,c
- C3 DC3(x) D(x)\a,b c
- C1 ? C2 ? C3 and k 2
- v(x, a) 3 a can be removed from D(x)
- v(x, b) 2 b can be removed from D(x)
- D(x) c
15Generalized Constructive Disjunction
- v(x,2) 1
- 1 ? n-k ? 2 is not removed from D(x)
- Although
- Any solution violates either C2 or C3
- (x,2) violates C1
16How to Improve this Filtering?
- Basic idea to take into account constraints
between all the variables different from x when
filtering D(x) - Lower bound LB of the number of violations
involved by these constraints - Global LB nothing to do with SAC!
17How to Improve this Filtering?
- Replace
- if v(x,a) gt n-k then D(x)?
D(x)\a - By
- if v(x,a) LB gt n-k then D(x)?
D(x)\a
18Variable Based Lower Bound
- Binary case Freuder and Wallace, 1992 Larrosa,
Meseguer and Schiex, 1999 - Direct violations of constraints by values
- a directly violates C means a is not consistent
with C - For each a in D(x)
- inc(x,a) number of direct violations of value
a - inc(x) min(inc(x,a)), a ? D(x)
- LB particular sum of all inc(x)
19Variable Based Lower Bound
- Problem
- When the two variables x and y involved in a
constraint are future the same violation must not
be counted twice when including inc(x) and inc(y)
into the sum - Solution
- Directed graph of constraints
C is taken into account only in inc(x)
20Variable Based Lower Bound
- v(x,2)1
- LB 1
- inc(y) 1
- inc(z) inc(t) 0
- v(x,2) LB 2 gt n-k
- 2 can be removed from D(x)
21Variable Based Lower Bound
- Non binary case Régin, Petit, Bessière and
Puget, 2000-2001 - Binary case directed constraint graph
- Non-binary case variable-based partition of the
constraint set - P p(x),p(y),...
- p(x) C1,C3,...
- ? x,y p(x) ? p(y) ?
- A constraint C ? p(x) is taken into account only
when computing inc(x)
22Recapitulation
- inc(y) is computed only with constraints of p(y)
- LB ? inc(y), y ? x
- Filtering theorem
- if v(x,a) LB gt n-k then D(x)? D(x)\a
23Ignored Constraints Example 1
Value 2 of each domain does not directly violate
any constraint inc(x)inc(y)inc(z) 0
24Conflict Set Based Lower Bound Régin, Petit,
Bessière and Puget, 2000-2001
- A conflict set is a part of the constraint
network which is not arc-consistent - It is not possible to satisfy simultaneously all
the constraints
25Conflict Set Based Lower Bound
- One conflict set (at least) one violation
- LBcs size of a set of disjoint conflict sets
26Conflict Set Based Lower Bound
- Smaller conflict sets ? greater LB
- Given a set of constraints Q
- Step 1 LB ? 0
- Step 2 Find a conflict set K in Q, if there is
not return LB - Step 3 K ? minimal conflict set from K
- LB
- Q ? Q - K
- goto step 2
Polynomial algorithm for computing a minimal
conflict set from a conflict set e.g. De
Siquiera and Puget, 1988, improved by Junker,
2001
27Combination of BoundsRégin, Petit, Bessière and
Puget, 2001
- Basic Idea
- Compute a variable-based bound LB
- Extract the set of constraints that are ignored
in LB - Compute a conflict-set based lower bound LBcs(I)
on a subset I of these ignored constraints
28Combination of Bounds
- Ignored Constraints
- Ignored constraints are constraints that are not
violated by a value a such that inc(x,a) inc(x) - Problem
- Not trivial computation of the set I we cannot
use all the ignored constraints for computing
LBcs(I) - I must be an independent set of ignored
constraints
29Independent Set Of Ignored Constraints
p(x)C1,C2,C3,C4 inc(x) inc(x,a) inc(x,b)
1 C3,C4 is not independent if we consider
p(x) p(x)- C3,C4 then inc(x) 0 ? The
value of inc(x)changes! ? LB does not remain
valid without C3 and C4!
x
30Independent Set Of Ignored Constraints Greedy
Algorithm
- Idea to pick and remove ignored constraints one
by one while this does not affect the
variable-based lower bound LB - For each set p(x) of the partition
- I ? ?
- While ? C ? p(x) such that p(x) p(x)\C
satisfies inc(x)gt inc(x), add C to I and remove
C from p(x)
31Summary
- Existing results (binary constraints)
- if v(x,a) LB gt n-k then
D(x)? D(x)\a - New result (general case)
- if v(x,a) LB LBcs(I) gt n-k then
D(x)? D(x)\a