# exploiting tree decomposition within vns for solving...

Post on 10-Jul-2020

0 views

Embed Size (px)

TRANSCRIPT

Introduction Contributions Results Conclusions Perspectives

Exploiting tree decomposition within VNS for solving constraint optimization problems

Mathieu Fontaine Samir Loudni Patrice Boizumault

GREYC (CNRS - UMR 6072) – Université de Caen Boulevard du Maréchal Juin

14000 Caen

May 22, 2012

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

Introduction Contributions Results Conclusions Perspectives

1 Introduction Tree Decomposition VNS

2 Contributions DGVNS

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

Introduction Contributions Results Conclusions Perspectives

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 computation time.

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

Introduction Contributions Results Conclusions Perspectives

Exploiting problem’s structure

Tree decomposition:

Using problem structure to solve it

Complete search:

BTD [Terrioux & Jégou, 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

Introduction Contributions Results Conclusions Perspectives

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 local search.

Tree Decomposition Methods allow to reveal the structure of the problem.

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

Introduction Contributions Results Conclusions Perspectives

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 sum of the costs of unsatisfied constraints.

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

Introduction Contributions Results Conclusions Perspectives

Tree Decomposition

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

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

Create the acyclic graph of clusters.

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

Introduction Contributions Results Conclusions Perspectives

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

Introduction Contributions Results Conclusions Perspectives

Tree Decomposition

We use a tree decomposition method based on a triangulation of the constraints 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

Introduction Contributions Results Conclusions Perspectives

Constraint Graph example

let P = (X ,D, C, k) be a WCSP defined 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

Introduction Contributions Results Conclusions Perspectives

Constraint Graph example

let P = (X ,D, C, k) be a WCSP defined 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

Introduction Contributions Results Conclusions Perspectives

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

Introduction Contributions Results Conclusions Perspectives

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

Introduction Contributions Results Conclusions Perspectives

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

Introduction Contributions Results Conclusions Perspectives

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

Introduction Contributions Results Conclusions Perspectives

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

Introduction Contributions Results Conclusions Perspectives

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

Introduction Contributions Results Conclusions Perspectives

VNS [Mladenovic and Hansen, 1997]

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

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

Introduction Contributions Results Conclusions Perspectives

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

Introduction Contributions Results Conclusions Perspectives

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

Introduction Contributions Results Conclusions Perspectives

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

X 39

X 40

X 95

X 96

X 10

9

X 11

7

X 13

2

X 13

3

X 14

7

X 15

3

X 16

4

X 17