Transcript
Page 1: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Exploiting tree decomposition within VNS

for solving constraint optimization problems

Mathieu Fontaine Samir Loudni Patrice Boizumault

GREYC (CNRS - UMR 6072) – Universite de CaenBoulevard du Marechal Juin

14000 Caen

May 22, 2012

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 1 / 38

Page 2: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

1 IntroductionTree DecompositionVNS

2 ContributionsDGVNS

Tightness Dependant Tree Decomposition

3 Results

4 Conclusions

5 Perspectives

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 2 / 38

Page 3: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Background

Constraint Optimisation Problem

WCSP

Two approaches:Complete search: best solution, optimality proof.

Branch and Bound, constraints filtering...

Local search: good solution, no optimality proof, lower computationtime.

IDWalk [Neveu et al., 2004], VNS/LDS+CP [Loudni et al., 2008]

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 3 / 38

Page 4: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Exploiting problem’s structure

Tree decomposition:

Using problem structure to solve it

Complete search:

BTD [Terrioux & Jegou, 2003], RDS-BTD [Sanchez et al., 2010] ...

Local search:

?

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 4 / 38

Page 5: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Motivation

Many real life constraint optimization problems are very large.

Many of them are very structured.

Our goal: Take advantage of this structure to guide a VNS localsearch.

Tree Decomposition Methods allow to reveal the structure of theproblem.

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 5 / 38

Page 6: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Weighted Constraint Satisfaction Problems

WCSP

(X ,D, C, k) is a WCSP:

X = {X1, . . . ,Xn} set of variables,

D = {D1, . . . ,Dn} set of their finite domains,

C = {c1, . . . , ce} set of constraints,

set of variables (scope) of ci : var(ci ),cost function fci : ⊗j∈var(ci )Dj → [0..k],

k > 0 is an integer value (maximal cost value)

Goal: to find a complete assignment minimizing the sumof the costs of unsatisfied constraints.

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 6 / 38

Page 7: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Tree Decomposition

Introduced by Robertson and Seymour [Journal of algorithms,1986].

Partition the graph into smaller groups (clusters) of stronglyconnected variables.

Create the acyclic graph of clusters.

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 7 / 38

Page 8: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Tree Decomposition

Tree Decomposition

A tree decomposition of G = (X ,E ) is a pair (CT ,T ) where:

T = (I ,A) is a tree with nodes set I and edges set A,

CT = {Ci | i ∈ I} is a family of subsets of X such that:

1 ∪i∈I Ci = X ,2 ∀ (u, v) ∈ E , ∃Ci ∈ CT s.t. u, v ∈ Ci ,3 ∀ i , j , k ∈ I , if node j is on the path from i to k in T , then

Ci ∩ Ck ⊆ Cj .

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 8 / 38

Page 9: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Tree Decomposition

We use a tree decomposition method based on a triangulation of theconstraints graph.

It proceeds in 3 steps:1 Triangulation (MCS),2 Search of maximal cliques (graph of clusters),3 Joint Tree (Maximum spanning tree).

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 9 / 38

Page 10: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Constraint Graph example

let P = (X ,D, C, k) be a WCSPdefined as:

X = {A,B,C ,D,E ,F}C = {C1(A,B,E ),C2(A,C ),C3(D,C ),C4(B,D),C5(D,F )}

B

A

D

F

C

E

constraint graph associated to P

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 10 / 38

Page 11: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Constraint Graph example

let P = (X ,D, C, k) be a WCSPdefined as:

X = {A,B,C ,D,E ,F}C = {C1(A,B,E ),C2(A,C ),C3(D,C ),C4(B,D),C5(D,F )}

B

A

D

F

C

E

constraint graph associated to P

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 10 / 38

Page 12: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Triangulation

B

A

D

F

C

E

original graph

B

A

D

F

C

E

triangulated graph

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 11 / 38

Page 13: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Triangulation

B

A

D

F

C

E

original graph

B

A

D

F

C

E

triangulated graph

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 11 / 38

Page 14: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Maximal cliques (graph of clusters)

B

A

D

F

C

E

triangulated graph

B,A

F,D

B,C,D

A,B,C

A,B,E

D

B,C

B

graph of clusters

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 12 / 38

Page 15: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Maximal cliques (graph of clusters)

B

A

D

F

C

E

triangulated graph

B,A

F,D

B,C,D

A,B,C

A,B,E

D

B,C

B

graph of clusters

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 12 / 38

Page 16: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Joint Tree (Maximal spanning tree)

B,A

F,D

B,C,D

A,B,C

A,B,E

D

B,C

B

graph of clusters

A,B,C

B,C,D

B,C

D

B,A

A,B,E

F,D

tree decomposition

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 13 / 38

Page 17: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Joint Tree (Maximal spanning tree)

B,A

F,D

B,C,D

A,B,C

A,B,E

D

B,C

B

graph of clusters

A,B,C

B,C,D

B,C

D

B,A

A,B,E

F,D

tree decomposition

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 13 / 38

Page 18: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

VNS [Mladenovic and Hansen, 1997]

Let Nk be the set of all combinations of k variables and S a currentsolution:

Select in Nk a set X of k variables to unfix in S .

unassign X in S

Rebuild S into S ′

if S ′ better than S

Intensification: S ← S ′ and k ← kinit

else

Diversification: k ← k + 1

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 14 / 38

Page 19: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Exploiting tree decomposition

Local search:

Guiding the search using Tree Decomposition

Decomposition guided VNS (DGVNS)

Refining tree decomposition using the constraints properties

Tightness Dependent Tree Decomposition (TDTD)

[Fontaine et al., 2011]

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 15 / 38

Page 20: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Contribution: basic ideas

The graph of clusters constitutes a map of the problem.

Clusters gather very correlated variables.

Covering all the clusters increases the diversification of the search.

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 16 / 38

Page 21: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Scen08 structure (e = 458, n = 5, 286)

X39

X40

X95

X96

X10

9

X11

7

X13

2

X13

3

X14

7

X15

3

X16

4

X17

5

X18

5

X18

7

X22

1

X27

9

X28

2

X29

0

X29

2

X29

3

X29

4

X29

7

X30

0

X30

1

X31

1

X31

5

X31

6

X31

7

X32

2

X32

6

X33

0

X33

5

X35

7

X37

2

X37

8

X37

9

X38

3

X38

6

X40

2

X40

3X

404

X40

5

X40

6X

407

X40

8

X41

6

X90

X33

3

X89

X76

X91

X13

0

X33

1

X17

8

X18

0

X10

7X

162

X16

3X

177

X17

9X

181

X18

2X

183

X26

7

X13

1X

266

X37

1X

381

X19

4X

191

X27

3

X36

6X

193

X19

8X

240

X38

5X

391

X21

7X

237

X37

6

X81

X82

X16

5X

166

X27

6

X17

6X

189

X19

2X

197

X22

7X

239

X36

4X

365

X14

8X

367

X36

8

X14

6X

199

X25

7

X27

1

X27

4

X35

X12

9

X35

5X

167

X19

6

X36

9

X45

7

X18

6

X19

0

X27

2

X37

5

X37

7

X28

3X

284

X28

5

X28

6

X12

7X

168

X45

6

X13

9

X15

8X

159

X38

7

X20

8X

209

X20

4

X20

5

X20

7

X26

4

X38

0

X20

6

X26

8

X26

9

X19

5X

201

X23

6X

270

X27

5

X27

8X

332

X6

X7

X16

0X

161

X29

9

X25

9X

41X

42X

373

X38

2

X30

6X

296

X29

8X

392

X14

5

X31

4

X39

3

X77

X78

X16

9X

172

X17

3X

362

X36

3

X71

X72

X14

0X

141

X17

0X

171

X36

0X

361

X13

8

X35

6

X13

4X

135

X13

6X

137

X27

7X

291

X30

3X

358

X35

9

X24

2X

338

X0

X3

X4

X10

X85

X97

X98

X99

X24

4

X43

0

X43

1

X43

5

X44

1

X44

2X

443

X44

8

X44

9

X45

0

X22

8

X22

9X

230

X23

1

X12X43

X46

X23

2

X23

3X

234

X41

1

X42

9

X43

2

X45

X47

X48

X53

X45

2

X33

9X

340

X34

1X

342

X34

3X

344

X34

5X

93X

346

X92

X11

4

X24

5X

246

X44

4X

445

X13

X22

0

X22

5

X37

4

X41

8

X44

7

X24

X26

X52

X43

8

X44

0

X11

X25

X43

3

X44

6

X43

7X

451

X51

X24

7

X33

X34

X32

5X

417

X43

9X

419

X42

0

X42

1

X42

2

X42

3

X42

4

X43

4

X26

1X

262

X26

3X

304

X30

5X

313

X31

8X

319

X35

1

X35

2

X40

1

X40

9

X41

0

X32

3 X15

7

X37

X38

X12

8X

260

X41

5

X24

9

X15

X14

X16

X17

X18

X10

1X

126

X19

X20

X25

1X

255

X45

4X

36

X33

6 X73

X74

X12

0X

121

X12

2X

123

X12

4

X84

X11

9X

21X

22X

65X

66X

337

X35

4

X79

X80

X38

9

X39

0

X2

X54

X60

X61

X42

5

X38

8

X42

6

X42

7

X45

3

X70

X12

5

X42

8

X56

X94

X8

X31

X32

X50

X10

3X

327

X32

8

X22

2X

223

X67

X68

X69

X83

X21

8

X23

X44

X57

X26

5

X62

X55

X24

1X

253

X25

4X

256

X49X1

X9

X27

X10

0

X24

8

X25

0

X25

2

X32

9

X87

X88

X11

5

X21

0

X21

1

X21

2X

213

X21

5

X21

6

X35

3

X20

3

X22

6

X32

4

X34

9

X35

0

X5

X28

X29

X30

X86

X21

4X

334

X34

7X

348

X11

0X

111

X11

2X

113

X24

3X

436

X14

4X

289

X31

2X

394

X39

5X

396

X39

7X

398

X39

9

X29

5X

116

X17

4X

280

X28

8X

310

X40

0

X30

2

X14

3X

235

X30

8

X63

X64 X

224

X30

7

X10

2X

150

X10

6X

149

X10

4X

105

X15

5

X15

6

X28

7

X32

0

X32

1

X11

8X

142

X15

1X

152

X15

4X

258

X58

X20

0

X28

1

X41

2

X41

4

X30

9

X38

4X

108

X21

9X

413

X45

5X

59

X75

X18

4

X18

8

X20

2

X23

8

X37

0

Figure: Scen08 instance’s structureM. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 17 / 38

Page 22: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Scen08 decomposition

Figure: Scen08 decomposition (From Simon de Givry)

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 18 / 38

Page 23: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Contribution: Decomposition Guided VNS

Let the variable neighborhood structures Nk,i consist in all combinaisonsof k variables in cluster Ci . DGVNS consist in:

Center the search on a cluster Ci ,

Select variables in this cluster (and if necessary its neighbors),

Unassign these variables in the current solution

Rebuild the solution

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 19 / 38

Page 24: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Intensification/Diversification in DGVNS

If solution is improved

Intensify the search by setting k to kinit and moving to anothercluster(Csucc(i)).

Else

Diversify the search by increasing k and moving to another cluster(Csucc(i)).

Moving from cluster Ci to next cluster Csucc(i) provides a betterdiversification.

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 20 / 38

Page 25: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Refining Tree Decomposition

Tree Decomposition allows to build relevant neighborhoods.

But, hard parts of the problem may still remain hidden.

Removing constraints that are easy to satisfy will lead to morerelevant decompositions.

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 21 / 38

Page 26: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Constraint Tightness

Let c be a constraint:

Constraint Relation

Its relation Rc is the set of all possible assignations of the scope variables.

Cost function

Its cost function fc : Rc 7→ [0, k>].

Constraint tightness

t(c) =#{tuple | fc(tuple) > 0, tuple ∈ Rc}

#{tuple ∈ Rc}

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 22 / 38

Page 27: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Tightness Dependant Tree Decomposition

Tightness dependant tree decomposition is performed by:

Removing constraints whose tightness is lower than a fixed treshold,

Applying tree decomposition to this subgraph.

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 23 / 38

Page 28: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Tightness dependent tree decomposition

λ = 0.3:

A B E f1a a b 10a b b 10a a c 10a b c 100b a b 500b b b 200b a c 0b b c 0

t(c1) = 0.75

A C f2a a 0a c 0b a 1000b c 0

t(c2) = 0.25

D C f3b a 10b c 120c a 0c c 350

t(c3) = 0.75

B D f4a b 1000a c 0b b 0b c 10

t(c4) = 0.5

D F f5b a 1000b c 1000c a 1000c c 0

t(c5) = 0.75

AE

B

D

C

F

original graph

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 24 / 38

Page 29: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Tightness dependent tree decomposition

λ = 0.3:

A B E f1a a b 10a b b 10a a c 10a b c 100b a b 500b b b 200b a c 0b b c 0

t(c1) = 0.75

A C f2a a 0a c 0b a 1000b c 0

t(c2) = 0.25

D C f3b a 10b c 120c a 0c c 350

t(c3) = 0.75

B D f4a b 1000a c 0b b 0b c 10

t(c4) = 0.5

D F f5b a 1000b c 1000c a 1000c c 0

t(c5) = 0.75

AE

B

D

C

F

original graph

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 24 / 38

Page 30: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Tightness dependent tree decomposition

λ = 0.3:

A B E f1a a b 10a b b 10a a c 10a b c 100b a b 500b b b 200b a c 0b b c 0

t(c1) = 0.75

A C f2a a 0a c 0b a 1000b c 0t(c2) = 0.25

D C f3b a 10b c 120c a 0c c 350t(c3) = 0.75

B D f4a b 1000a c 0b b 0b c 10t(c4) = 0.5

D F f5b a 1000b c 1000c a 1000c c 0t(c5) = 0.75

AE

B

D

C

F

original graph

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 24 / 38

Page 31: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Tightness dependent tree decomposition

λ = 0.3:

A B E f1a a b 10a b b 10a a c 10a b c 100b a b 500b b b 200b a c 0b b c 0

t(c1) = 0.75

A C f2a a 0a c 0b a 1000b c 0t(c2) = 0.25

D C f3b a 10b c 120c a 0c c 350t(c3) = 0.75

B D f4a b 1000a c 0b b 0b c 10t(c4) = 0.5

D F f5b a 1000b c 1000c a 1000c c 0t(c5) = 0.75

AE

B

D

C

F

original graph

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 24 / 38

Page 32: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Tightness dependent tree decomposition

λ = 0.3:

A B E f1a a b 10a b b 10a a c 10a b c 100b a b 500b b b 200b a c 0b b c 0

t(c1) = 0.75

A C f2a a 0a c 0b a 1000b c 0t(c2) = 0.25

D C f3b a 10b c 120c a 0c c 350t(c3) = 0.75

B D f4a b 1000a c 0b b 0b c 10t(c4) = 0.5

D F f5b a 1000b c 1000c a 1000c c 0t(c5) = 0.75

AE

B

D

C

F

constraint removal

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 24 / 38

Page 33: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Tightness dependent tree decomposition

λ = 0.3:

A B E f1a a b 10a b b 10a a c 10a b c 100b a b 500b b b 200b a c 0b b c 0

t(c1) = 0.75

A C f2a a 0a c 0b a 1000b c 0t(c2) = 0.25

D C f3b a 10b c 120c a 0c c 350t(c3) = 0.75

B D f4a b 1000a c 0b b 0b c 10t(c4) = 0.5

D F f5b a 1000b c 1000c a 1000c c 0t(c5) = 0.75

AE

B

D

C

F

tightness dependentgraph of constraint

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 24 / 38

Page 34: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Tightness dependent tree decomposition

λ = 0.3:

A B E f1a a b 10a b b 10a a c 10a b c 100b a b 500b b b 200b a c 0b b c 0

t(c1) = 0.75

A C f2a a 0a c 0b a 1000b c 0t(c2) = 0.25

D C f3b a 10b c 120c a 0c c 350t(c3) = 0.75

B D f4a b 1000a c 0b b 0b c 10t(c4) = 0.5

D F f5b a 1000b c 1000c a 1000c c 0t(c5) = 0.75

ABE

BD

DCDF

tightness dependentdecomposition

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 24 / 38

Page 35: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Experimental Protocol

Implementation

Toulbar2

C++

VNS:

rebuild: LDS (Limited Discrepancy Search) + CP (ConstraintPropagation)

We compare our approach with:

VNS

select: conflict-var

ID-Walk.

Experimental Protocol:

3 benchmarks, 10 instances

50 runs per instance,

timeout: 1 hour per run.

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 25 / 38

Page 36: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Instances (n = #variables,e = #constraints)

RLFAP

Radio Link Frequency Allocation Problem,

Real life problem proposed by the CELAR (Centre d’Electronique deL’ARmement),

3 instances:

scen06: n = 100, e = 1, 222,scen07: n = 200, e = 2, 665,scen08: n = 458, e = 5, 286.

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 26 / 38

Page 37: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Contribution of the Tree Decomposition

Instance Method Success Avg time Avg cost

scen06 DGVNS 50/50 112 3,389S∗ = 3, 389 VNS/LDS+CP 15/50 83 3,399

ID-Walk NA 840 3,447 (3,389)

scen07 DGVNS 40/50 317 345,614S∗ = 343, 592 VNS/LDS+CP 1/50 461 355,982

ID-Walk NA 360 373,334 (343,998)

scen08 DGVNS 3/50 1,811 275S∗ = 262 VNS/LDS+CP 0/50 - 394 (357)

ID-Walk NA 3,000 291 (267)

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 27 / 38

Page 38: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Contribution of the Tree Decomposition

Instance Method Success Avg time Avg cost

scen06 DGVNS 50/50 112 3,389S∗ = 3, 389 VNS/LDS+CP 15/50 83 3,399

ID-Walk NA 840 3,447 (3,389)

scen07 DGVNS 40/50 317 345,614S∗ = 343, 592 VNS/LDS+CP 1/50 461 355,982

ID-Walk NA 360 373,334 (343,998)

scen08 DGVNS 3/50 1,811 275S∗ = 262 VNS/LDS+CP 0/50 - 394 (357)

ID-Walk NA 3,000 291 (267)

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 27 / 38

Page 39: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Contribution of the Tree Decomposition

Instance Method Success Avg time Avg cost

scen06 DGVNS 50/50 112 3,389S∗ = 3, 389 VNS/LDS+CP 15/50 83 3,399

ID-Walk NA 840 3,447 (3,389)

scen07 DGVNS 40/50 317 345,614S∗ = 343, 592 VNS/LDS+CP 1/50 461 355,982

ID-Walk NA 360 373,334 (343,998)

scen08 DGVNS 3/50 1,811 275S∗ = 262 VNS/LDS+CP 0/50 - 394 (357)

ID-Walk NA 3,000 291 (267)

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 27 / 38

Page 40: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Contribution of TDTD

Instance Method Success Avg time Avg cost

scen06 DGVNS 50/50 112 3,389S∗ = 3, 389 λ = 0.2 50/50 58 3,389

λ = 0.3 50/50 61 3,389

scen07 DGVNS 40/50 317 345,614S∗ = 343, 592 λ = 0.3 47/50 229 344,198

λ = 0.4 49/50 221 343,600scen08 DGVNS 3/50 1,811 275S∗ = 262 λ = 0.4 6/50 344 274

λ = 0.5 9/50 442 272

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 28 / 38

Page 41: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Contribution of TDTD

Instance Method Success Avg time Avg cost

scen06 DGVNS 50/50 112 3,389S∗ = 3, 389 λ = 0.2 50/50 58 3,389

λ = 0.3 50/50 61 3,389

scen07 DGVNS 40/50 317 345,614S∗ = 343, 592 λ = 0.3 47/50 229 344,198

λ = 0.4 49/50 221 343,600scen08 DGVNS 3/50 1,811 275S∗ = 262 λ = 0.4 6/50 344 274

λ = 0.5 9/50 442 272

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 28 / 38

Page 42: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Contribution of TDTD

Instance Method Success Avg time Avg cost

scen06 DGVNS 50/50 112 3,389S∗ = 3, 389 λ = 0.2 50/50 58 3,389

λ = 0.3 50/50 61 3,389

scen07 DGVNS 40/50 317 345,614S∗ = 343, 592 λ = 0.3 47/50 229 344,198

λ = 0.4 49/50 221 343,600scen08 DGVNS 3/50 1,811 275S∗ = 262 λ = 0.4 6/50 344 274

λ = 0.5 9/50 442 272

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 28 / 38

Page 43: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Contribution of TDTD

Instance Method Success Avg time Avg cost

scen06 DGVNS 50/50 112 3,389S∗ = 3, 389 λ = 0.2 50/50 58 3,389

λ = 0.3 50/50 61 3,389

scen07 DGVNS 40/50 317 345,614S∗ = 343, 592 λ = 0.3 47/50 229 344,198

λ = 0.4 49/50 221 343,600scen08 DGVNS 3/50 1,811 275S∗ = 262 λ = 0.4 6/50 344 274

λ = 0.5 9/50 442 272

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 28 / 38

Page 44: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Performance profiles: RLFAP

0

500000

1e+06

1.5e+06

2e+06

2.5e+06

3e+06

0 50 100 150 200 250

ave

rag

e c

ost

CPU time

scen07

DGVNSSDGVNS-0.4

VNS/LDS+CPoptimum

200

300

400

500

600

700

800

900

0 100 200 300 400 500 600

ave

rag

e c

ost

CPU time

scen08

DGVNSSDGVNS-0.5

VNS/LDS+CPoptimum

Figure: Performance profiles on Scen07 and Scen08

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 29 / 38

Page 45: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Experiment conclusions

On RLFAP and SPOT5 instances:

Improvement are made in both success rates and computation times.Using DGVNS accelerate the amelioration of the solution quality duringexecution.Tightness dependent tree decomposition successfully allows to refineTree decomposition and enhance DGVNS performances.

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 30 / 38

Page 46: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

GRAPH

Graph benchmark:

random instances,

generated from RLFAP instance.

2 problems:

Graph11: n = 340, e = 3, 417;Graph13: n = 458, e = 4, 915.

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 31 / 38

Page 47: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Contribution of the Tree Decomposition

Instance Method Success Avg time Avg cost

Graph11 DGVNS 8/50 3, 046 4, 234S∗ = 3, 080 λ = 0.5 12 / 50 2,818 3,643

VNS/LDS+CP 44/50 2, 403 3, 090ID-Walk 0/50 - 41, 604 (27, 894)

Graph13 DGVNS 0/50 - 22, 489 (18, 639)S∗ = 10110 λ = 0.7 0 / 50 - 11,449 (10,268)

VNS/LDS+CP 3/50 3, 477 14, 522ID-Walk 0/50 - 58, 590 (47, 201)

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 32 / 38

Page 48: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Experiment conclusions

Experiments on GRAPH instances don’t show similar enhancement,

even using TDTD.

Why?

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 33 / 38

Page 49: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Impact of treewidth

Width

The width of T = (I ,A), w(T ) = maxi∈I (|Ci |−1).

Treewidth

The treewidth w− of G is the smallest width of all possible treedecompositions of G .

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 34 / 38

Page 50: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Impact of the decomposition’s method

Instance n w− mc w−

n

Scen06 100 11 10 0.11Scen07 200 18 10 0.09Scen08 458 18 10 0.03

Graph05 100 28 8 0.28Graph06 200 54 8 0.27Graph11 340 102 7 0.3Graph13 458 136 6 0.29

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 35 / 38

Page 51: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Conclusions

1 Tree decomposition enables to build more relevant neigborhoods.

2 DGVNS clearly outperforms VNS/LDS+CP and ID-Walk on SPOT5instances and CELAR instances.

3 Tightness dependent tree decomposition leads to significantimprovements.

4 The performance of our method relies on the treewidth

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 36 / 38

Page 52: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Perspectives

Using cost to decompose the problem,

Using problem structure to parallelize DGVNS.

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 37 / 38

Page 53: Exploiting tree decomposition within VNS for solving ...conf.laas.fr/jfpc-jiaf2012/jfpc/presentations/fontaine_jfpc12.pdf · Introduction Contributions Results Conclusions Perspectives

IntroductionContributionsResultsConclusionsPerspectives

Questions?

M. Fontaine, S. Loudni, P. Boizumault (GREYC)Exploiting tree decomposition within VNS May 22, 2012 38 / 38


Top Related