23
1 An Elegant and Efficient An Elegant and Efficient Implementation of Implementation of Russian Dolls Search Russian Dolls Search for Variable Weighted CSP for Variable Weighted CSP T. Benoist, M. Lemaître {tbenoist}@bouygues.com Bouygues e-lab, Paris, France ONERA, Toulouse, France

An elegant implementation of RDS for VWCSP - …bista/organizing/soft-2003/talks/lightRDSsoftC.pdf · 1 An Elegant and Efficient Implementation of . Russian Dolls Search . for Variable

  • 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

[email protected]

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

8

Russian Dolls SearchRds1=max(P1)=max(P)

1

2

3

57

6

8

9

4

10

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

10

RDS upper bound

10

814

629

57

3

11

RDS upper bound

10

814

629

5Constraints propagation

73

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)

20

Ligh

tRDS

Control mechanism

Encapsulated in a special root choice point

P10 P9 P8P1

………..

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

23

Conclusion• LightRDS is more efficient• LightRDS is simple:

– Declarative implementation– No dedicated filtering to program– No frontier to manage

• LightRDS can be tested in a few minutes– on Variable Weighted CSPs– when the constraint graph has a small bandwidth