Upload
hakhanh
View
213
Download
0
Embed Size (px)
Citation preview
1
An Elegant and Efficient An Elegant and Efficient Implementation of Implementation of
Russian Dolls Search Russian Dolls Search for Variable Weighted CSPfor Variable Weighted CSP
T. Benoist, M. Lemaître
Bouygues e-lab, Paris, FranceONERA, Toulouse, France
2
Variable Weighted CSPVariable Weighted CSP• Definition:
– Additive WCSP where only unary constraints (Xi=1) are weighted
– maximize Ω = ∑wiXi
– Subject to: Xi∈0,1 + selection constraints• Some VWCSPs:
– knapsack problems, – «soft scheduling »– prize-collecting TSP– …
3
Example: Select & Schedule
1
2
3
57
6
8
9
4
10
10 candidate photos, each with gain wiSelect the subset (selection variables Xi)
of higher gain (Ω=∑wiXi)that can be scheduled (variables Ti) without
violating transition times ti→j constraints.
Simplified version of SRSS [Verfaillie & Lemaître CP’01]
4
Example: Select & Schedule10 candidate photos, each with gain wi
Select the subset (selection variables Xi)of higher gain (Ω=∑wiXi)that can be scheduled (variables Ti) without
violating transition times ti→j constraints.10
81
2
3
46
95
7
Simplified version of SRSS [Verfaillie & Lemaître CP’01]
5
Russian Dolls Search• Static order on selection variables• Successive resolutions of nested
sub problems
Rds10=max(P10)
10
814
629
57
3
6
Russian Dolls Search• Static order on selection variables• Successive resolutions of nested
sub problemsRds9=max(P9)
9
10
814
62
57
3
7
Russian Dolls Search
1
2
5
6
8
9
4
10
Rds8=max(P8)
and so on…
• Static order on selection variables• Successive resolutions of nested
sub problems
73
9
RDS upper boundDuring resolution of the last problem (P1)(once P10,P9,…,P2 have been solved)
Initial upper bound: Ω ≤ w1+Rds2
2
3
57
6
8
9
4
10Rds2
1w1
12
RDS upper bound
57
6
8
9
4
10
frontier
Constraints propagation
Rds6
w4
Ub=w1+ w2+ w4+Rds6
1w1
2w2
3
13
RDS cost-based filteringVariable fixing rule:
If w1+ w2+ Rds6 ≤ currentBest then X4=1
1
2
37
6
8
9
10Rds6w1
4w2
5
14
RDS cost-based filteringVariable fixing rule:
If w1+ w2+ Rds6 ≤ currentBest then X4=1
1
2
37
6
8
9
10Rds6w1
4w4
w2
5
15
LightRDS• Objective function:
• Ω = w1X1+ ... + w5X5+ Ω6
• Ω6= w6X6+ ... + w10X10 with Ω6≤Rds6
• RDS filtering is naturally performed by these linear constraints
Ligh
tRDS
Ω = Ω1
Ωi = wiXi+ Ωi+1
Ω10= w10X10
Declarative implementation
Adding 10 variables and 10 ternary constraints
16
LightRDS filtering is strictly strongerLi
ghtR
DS
This is equivalent to using all frontiers simultaneously
2
3
57
6
8
9
4
10
1
17
LightRDS filtering is strictly stronger
If Rds4<Rds6+w4 then frontier 4 would produce a better bound:
w1+ w2+ Rds4 < w1+ w2+ w4+Rds6
Ligh
tRDS
1
2
57
6
8
9
4
10Ω4
3
18
LightRDS filtering is strictly stronger
57
6
8
9
4
10
If Rds4<Rds6+w4 then frontier 4 would produce a better bound:
w1+ w2+ Rds4 < w1+ w2+ w4+Rds6
And possibly better filtering:
Ligh
tRDS
Ω4
1
2
3
19
Ligh
tRDS
Control mechanism
Encapsulated in a special root choice point
Restrict to problem P10
X1=X2=….=X9=0
setMax(Ω10,currentBest)
21
Computational Results
Ligh
tRDS
• Satellite planning problem: ftp://ftp.cert.fr/pub/DCSD/CD/lemaitre/Choco/bep/
• CHOCO model
0
10
20
30
40
50
60
70
80
80 100 120 140 160 180 200
CP
U T
ime
(sec
onds
)
nbCandidates
LightRDSRDS
0
50
100
150
200
250
300
80 100 120 140 160 180 200T
ree
sear
ch s
ize
(# n
odes
/100
0)nbCandidates
LightRDSRDS
Number of nodes and CPU time are divided by two
22
NOT extensible to WCSP
∑wcXc
• Forward Checking (FC)= ∑wcXc + ∑wcXc + ∑wcXc+ … + ∑wcXcc∈F* c∈F1 c∈F2 c∈F0
Instantiated constraints
Constraints whose only non
instantiated variable is V1
Constraints whose only non
instantiated variable is V2
Remaining constraints
RDS bound of the largest subproblem ⊆ F0
Bounded by
Min ∑wcXc
Bounded by
domain(V1) c∈F1
dynamic partition of constraintsstatic reformulation of the objective function seems impossible