International Doctoral School Algorithmic Decision Theory: MCDA and MOO
Lecture 4: Multiobjective Combinatorial Optimization
Matthias Ehrgott
Department of Engineering Science, The University of Auckland, New Zealand Laboratoire d’Informatique de Nantes Atlantique, CNRS, Universit´ e de Nantes,
France
MCDA and MOO, Han sur Lesse, September 17 – 21 2007
Overview
1 Formulation and Definitions of Optimality
2 Complexity
3 The Multiobjective Shortest Path and Spanning Tree Problems
4 The Two Phase Method
5 Scalarization
6 Branch and Bound
7 Conclusion
1 Formulation and Definitions of Optimality
2 Complexity
3 The Multiobjective Shortest Path and Spanning Tree Problems
4 The Two Phase Method
5 Scalarization
6 Branch and Bound
7 Conclusion
Overview
1 Formulation and Definitions of Optimality
2 Complexity
3 The Multiobjective Shortest Path and Spanning Tree Problems
4 The Two Phase Method
5 Scalarization
6 Branch and Bound
7 Conclusion
1 Formulation and Definitions of Optimality
2 Complexity
3 The Multiobjective Shortest Path and Spanning Tree Problems
4 The Two Phase Method
5 Scalarization
6 Branch and Bound
7 Conclusion
Overview
1 Formulation and Definitions of Optimality
2 Complexity
3 The Multiobjective Shortest Path and Spanning Tree Problems
4 The Two Phase Method
5 Scalarization
6 Branch and Bound
7 Conclusion
1 Formulation and Definitions of Optimality
2 Complexity
3 The Multiobjective Shortest Path and Spanning Tree Problems
4 The Two Phase Method
5 Scalarization
6 Branch and Bound
7 Conclusion
Overview
1 Formulation and Definitions of Optimality
2 Complexity
3 The Multiobjective Shortest Path and Spanning Tree Problems
4 The Two Phase Method
5 Scalarization
6 Branch and Bound
7 Conclusion
1 Formulation and Definitions of Optimality
2 Complexity
3 The Multiobjective Shortest Path and Spanning Tree Problems
4 The Two Phase Method
5 Scalarization
6 Branch and Bound
7 Conclusion
Mathematical Formulation
min z (x) = Cx subject to Ax = b
x ∈ {0, 1} n
x ∈ {0, 1} n −→ n variables, i = 1, . . . , n
C ∈ Z p×n −→ p objective functions, k = 1, . . . , p A ∈ Z m×n −→ m constraints, j = 1, . . . , m
Combinatorial structure: paths, trees, flows, tours, etc.
min z (x) = Cx subject to Ax = b
x ∈ {0, 1} n
x ∈ {0, 1} n −→ n variables, i = 1, . . . , n
C ∈ Z p×n −→ p objective functions, k = 1, . . . , p A ∈ Z m×n −→ m constraints, j = 1, . . . , m
Combinatorial structure: paths, trees, flows, tours, etc.
Mathematical Formulation
min z (x) = Cx subject to Ax = b
x ∈ {0, 1} n
x ∈ {0, 1} n −→ n variables, i = 1, . . . , n
C ∈ Z p×n −→ p objective functions, k = 1, . . . , p A ∈ Z m×n −→ m constraints, j = 1, . . . , m
Combinatorial structure: paths, trees, flows, tours, etc.
min z (x) = Cx subject to Ax = b
x ∈ {0, 1} n
x ∈ {0, 1} n −→ n variables, i = 1, . . . , n
C ∈ Z p×n −→ p objective functions, k = 1, . . . , p A ∈ Z m×n −→ m constraints, j = 1, . . . , m
Combinatorial structure: paths, trees, flows, tours, etc.
Feasible Sets
X = {x ∈ {0, 1} n : Ax = b}
feasible set in decision space Y = z(X ) = {Cx : x ∈ X } feasible set in objective space conv(Y ) + R p =
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
X = {x ∈ {0, 1} n : Ax = b}
feasible set in decision space Y = z(X ) = {Cx : x ∈ X } feasible set in objective space conv(Y ) + R p =
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
Y = C ( X )
Feasible Sets
X = {x ∈ {0, 1} n : Ax = b}
feasible set in decision space Y = z(X ) = {Cx : x ∈ X } feasible set in objective space conv(Y ) + R p =
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
conv(C(X)) + R
p=Individual minima
z k (ˆ x) 5 z k (x) for all x ∈ X Lexicographic optimality (1) z (ˆ x) 5 lex z(x) for all x ∈ X Lexicographic optimality (2) z π (ˆ x) 5 lex z π (x) for all x ∈ X and some permutation z π of (z 1 , . . . , z p )
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
Lexicographic Optimality
Individual minima
z k (ˆ x) 5 z k (x) for all x ∈ X Lexicographic optimality (1) z (ˆ x) 5 lex z(x) for all x ∈ X Lexicographic optimality (2) z π (ˆ x) 5 lex z π (x) for all x ∈ X and some permutation z π of (z 1 , . . . , z p )
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
Individual minima
z k (ˆ x) 5 z k (x) for all x ∈ X Lexicographic optimality (1) z (ˆ x) 5 lex z(x) for all x ∈ X Lexicographic optimality (2) z π (ˆ x) 5 lex z π (x) for all x ∈ X and some permutation z π of (z 1 , . . . , z p )
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
Efficient Solutions
Weakly efficient solutions X wE : there is no x with z (x) < z (ˆ x) z (ˆ x) is weakly nondominated Y wN := z(X wN )
Efficient solutions X E :
there is no x with z (x) ≤ z (ˆ x) z (ˆ x) is nondominated
Y N := z (X E )
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
Weakly efficient solutions X wE : there is no x with z (x) < z (ˆ x) z (ˆ x) is weakly nondominated Y wN := z(X wN )
Efficient solutions X E :
there is no x with z (x) ≤ z (ˆ x) z (ˆ x) is nondominated
Y N := z (X E )
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
Efficient Solutions
Supported efficient solutions X SE : There is λ > 0 with λ T C x ˆ 5 λ T Cx for all x ∈ X
C x ˆ is extreme point of conv(Y ) + R
p=→ X
SE1C x ˆ is in relative interior of face of conv(Y ) + R
p=→ X
SE2Nonsupported efficient solutions X NE : C x ˆ is in interior of conv(Y ) + R p =
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
Supported efficient solutions X SE : There is λ > 0 with λ T C x ˆ 5 λ T Cx for all x ∈ X
C x ˆ is extreme point of conv(Y ) + R
p=→ X
SE1C x ˆ is in relative interior of face of conv(Y ) + R
p=→ X
SE2Nonsupported efficient solutions X NE : C x ˆ is in interior of conv(Y ) + R p =
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
conv(C(X)) + R
p=λ =
56,
16Efficient Solutions
Supported efficient solutions X SE : There is λ > 0 with λ T C x ˆ 5 λ T Cx for all x ∈ X
C x ˆ is extreme point of conv(Y ) + R
p=→ X
SE1C x ˆ is in relative interior of face of conv(Y ) + R
p=→ X
SE2Nonsupported efficient solutions X NE : C x ˆ is in interior of conv(Y ) + R p =
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
conv(C(X)) + R
p=λ =
12,
12Supported efficient solutions X SE : There is λ > 0 with λ T C x ˆ 5 λ T Cx for all x ∈ X
C x ˆ is extreme point of conv(Y ) + R
p=→ X
SE1C x ˆ is in relative interior of face of conv(Y ) + R
p=→ X
SE2Nonsupported efficient solutions X NE : C x ˆ is in interior of conv(Y ) + R p =
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
conv(C(X)) + R
p=λ =
13,
23Efficient Solutions
Supported efficient solutions X SE : There is λ > 0 with λ T C x ˆ 5 λ T Cx for all x ∈ X
C x ˆ is extreme point of conv(Y ) + R
p=→ X
SE1C x ˆ is in relative interior of face of conv(Y ) + R
p=→ X
SE2Nonsupported efficient solutions X NE : C x ˆ is in interior of conv(Y ) + R p =
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
conv(C(X)) + R
p=λ =
23,
13Supported efficient solutions X SE : There is λ > 0 with λ T C x ˆ 5 λ T Cx for all x ∈ X
C x ˆ is extreme point of conv(Y ) + R
p=→ X
SE1C x ˆ is in relative interior of face of conv(Y ) + R
p=→ X
SE2Nonsupported efficient solutions X NE : C x ˆ is in interior of conv(Y ) + R p =
0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
conv( C ( X )) + R
n=Nonsupported Effcient Solutions
Shortest path:
12
4 3 (2,0)
(0,2) (3,3)
(2,0)
(0,2)
Y N = 4
0
, 3
3
, 0
4
Spanning tree:
1 2
3 (3,0)
(1,1)
(0,3)
Y N =
4 1
,
3 3
,
1 4
Assignment:
1 2 3
1 2 3
(3,0)
(2,2) (0,3) (2,2)
(2,0) (0,2)
(2,2)
(0,2) (2,0)
Y N = 7
0
, 4
4
, 0
7
Hansen 1979:
x 1 , x 2 ∈ X E are equivalent if Cx 1 = Cx 2
Complete set: ˆ X ⊂ X E such that for all y ∈ Y N there is x ∈ X ˆ with z(x) = y
Minimal complete set contains no equivalent solutions
Maximal complete set contains all equivalent solutions
X
EX
SEX
N EX
SE1X
Em
X
SE2X
N Em
X
SE1mX
SE2mClassification of Efficient Sets
Hansen 1979:
x 1 , x 2 ∈ X E are equivalent if Cx 1 = Cx 2
Complete set: ˆ X ⊂ X E such that for all y ∈ Y N there is x ∈ X ˆ with z(x) = y
Minimal complete set contains no equivalent solutions
Maximal complete set contains all equivalent solutions
X
EX
SEX
N EX
SE1X
Em
X
SE2X
N Em
X
SE1mX
SE2mHansen 1979:
x 1 , x 2 ∈ X E are equivalent if Cx 1 = Cx 2
Complete set: ˆ X ⊂ X E such that for all y ∈ Y N there is x ∈ X ˆ with z(x) = y
Minimal complete set contains no equivalent solutions
Maximal complete set contains all equivalent solutions
X
EX
SEX
N EX
SE1X
Em
X
SE2X
N Em
X
SE1mX
SE2mClassification of Efficient Sets
Hansen 1979:
x 1 , x 2 ∈ X E are equivalent if Cx 1 = Cx 2
Complete set: ˆ X ⊂ X E such that for all y ∈ Y N there is x ∈ X ˆ with z(x) = y
Minimal complete set contains no equivalent solutions
Maximal complete set contains all equivalent solutions
X
EX
SEX
N EX
SE1X
Em
X
SE2X
N Em
X
SE1mX
SE2m1 Formulation and Definitions of Optimality
2 Complexity
3 The Multiobjective Shortest Path and Spanning Tree Problems
4 The Two Phase Method
5 Scalarization
6 Branch and Bound
7 Conclusion
MOCO Problems Are Hard
Decision problem: Given b ∈ Z p : Does there exist x ∈ X such that Cx 5 b?
Counting problem: Given b ∈ Z p : How many x ∈ X satisfy Cx 5 b?
How many efficient solutions (nondominated points) do exist?
Knapsack: Given a 1 , a 2 ∈ Z n and b 1 , b 2 ∈ Z , does there
exist x ∈ {0, 1} n such that (a 1 ) T x 5 b 1 and (a 2 ) T x = b 2 ?
Knapsack is NP-complete and #P-complete
Decision problem: Given b ∈ Z p : Does there exist x ∈ X such that Cx 5 b?
Counting problem: Given b ∈ Z p : How many x ∈ X satisfy Cx 5 b?
How many efficient solutions (nondominated points) do exist?
Knapsack: Given a 1 , a 2 ∈ Z n and b 1 , b 2 ∈ Z , does there
exist x ∈ {0, 1} n such that (a 1 ) T x 5 b 1 and (a 2 ) T x = b 2 ?
Knapsack is NP-complete and #P-complete
MOCO Problems Are Hard
Decision problem: Given b ∈ Z p : Does there exist x ∈ X such that Cx 5 b?
Counting problem: Given b ∈ Z p : How many x ∈ X satisfy Cx 5 b?
How many efficient solutions (nondominated points) do exist?
Knapsack: Given a 1 , a 2 ∈ Z n and b 1 , b 2 ∈ Z , does there
exist x ∈ {0, 1} n such that (a 1 ) T x 5 b 1 and (a 2 ) T x = b 2 ?
Knapsack is NP-complete and #P-complete
Decision problem: Given b ∈ Z p : Does there exist x ∈ X such that Cx 5 b?
Counting problem: Given b ∈ Z p : How many x ∈ X satisfy Cx 5 b?
How many efficient solutions (nondominated points) do exist?
Knapsack: Given a 1 , a 2 ∈ Z n and b 1 , b 2 ∈ Z , does there
exist x ∈ {0, 1} n such that (a 1 ) T x 5 b 1 and (a 2 ) T x = b 2 ?
Knapsack is NP-complete and #P-complete
MOCO Problems Are Hard
Decision problem: Given b ∈ Z p : Does there exist x ∈ X such that Cx 5 b?
Counting problem: Given b ∈ Z p : How many x ∈ X satisfy Cx 5 b?
How many efficient solutions (nondominated points) do exist?
Knapsack: Given a 1 , a 2 ∈ Z n and b 1 , b 2 ∈ Z , does there
exist x ∈ {0, 1} n such that (a 1 ) T x 5 b 1 and (a 2 ) T x = b 2 ?
Knapsack is NP-complete and #P-complete
Observation
Multiobjective combinatorial optimization problems are NP-hard,
#P-complete, and intractable.
min
n
X
i=1
c i k x i k = 1, . . . , p
subject to x i ∈ {0, 1} i = 1, . . . , n
The Unconstrained MOCO Problem
Observation
Multiobjective combinatorial optimization problems are NP-hard,
#P-complete, and intractable.
min
n
X
i=1
c i k x i k = 1, . . . , p
subject to x i ∈ {0, 1} i = 1, . . . , n
Does there exist x ∈ {0, 1} n such that (c 1 ) T x 5 d 1 and (c 2 ) T x 5 d 2 ?
With an instance of Knapsack c 1 := a 1 , d 1 = b 1 ,
c 2 := −a 2 , d 2 := −b 2 is a parsimonious transformation
With c i k := (−1) k 2 i−1 it holds Y = Y N
The Unconstrained MOCO Problem
Does there exist x ∈ {0, 1} n such that (c 1 ) T x 5 d 1 and (c 2 ) T x 5 d 2 ?
With an instance of Knapsack c 1 := a 1 , d 1 = b 1 ,
c 2 := −a 2 , d 2 := −b 2 is a parsimonious transformation
With c i k := (−1) k 2 i−1 it holds Y = Y N
Does there exist x ∈ {0, 1} n such that (c 1 ) T x 5 d 1 and (c 2 ) T x 5 d 2 ?
With an instance of Knapsack c 1 := a 1 , d 1 = b 1 ,
c 2 := −a 2 , d 2 := −b 2 is a parsimonious transformation
With c i k := (−1) k 2 i−1 it holds Y = Y N
Multiobjective Shortest Path Problem
NP-hard: Hansen 1979
• • • •
(a
11, 0) (a
12, 0)
(0, a
21) (0, a
22)
v
0v
1v
2v
nExponentially many efficient paths
• • • • • • • •
(1,0) (2,0) (2n−12 ,0)
(0,1) (0,0) (0,2) (0,0) (0,2n−12 ) (0,0)
. . .
v1 v2 v3 v4 v5 vn−2 vn−1 vn
NP-hard: Hansen 1979
• • • •
(a
11, 0) (a
12, 0)
(0, a
21) (0, a
22)
v
0v
1v
2v
nExponentially many efficient paths
• • • • • • • •
(1,0) (2,0) (2n−12 ,0)
(0,1) (0,0) (0,2) (0,0) (0,2n−12 ) (0,0)
. . .
v1 v2 v3 v4 v5 vn−2 vn−1 vn
Other Examples
Assignment (NP-hard: Serafini 1986, #P-hard: Neumayer 1994)
Spanning tree (Intractable: Hamacher and Ruhe 1994)
Network flow (Intractable: Ruhe 1988)
Assignment (NP-hard: Serafini 1986, #P-hard: Neumayer 1994)
Spanning tree (Intractable: Hamacher and Ruhe 1994)
Network flow (Intractable: Ruhe 1988)
Other Examples
Assignment (NP-hard: Serafini 1986, #P-hard: Neumayer 1994)
Spanning tree (Intractable: Hamacher and Ruhe 1994)
Network flow (Intractable: Ruhe 1988)
Intractable: X E , even Y SN , can be exponential in the size of the instance
Number of nondominated points for biobjective shortest path and assignment problems (Raith 2007, Przybylski 2006)
Shortest path Assignment Nodes Edges |Y N | n |Y N |
4,902 19,596 6 10 13
4,902 19,596 1,594 20 82
3,000 33,224 15 40 243
14,000 153,742 17 60 470
330,386 1,202,458 21 80 671
330,386 1,202,458 24 100 947
Number of Efficient Solutions
Intractable: X E , even Y SN , can be exponential in the size of the instance
Number of nondominated points for biobjective shortest path and assignment problems (Raith 2007, Przybylski 2006)
Shortest path Assignment Nodes Edges |Y N | n |Y N |
4,902 19,596 6 10 13
4,902 19,596 1,594 20 82
3,000 33,224 15 40 243
14,000 153,742 17 60 470
330,386 1,202,458 21 80 671
330,386 1,202,458 24 100 947
Empirically often
|X NE | grows exponentially with instance size
|X SE | grows polynomially with instance size
but this depends on numerical values of C
Number of Efficient Solutions
Empirically often
|X NE | grows exponentially with instance size
|X SE | grows polynomially with instance size
but this depends on numerical values of C
Empirically often
|X NE | grows exponentially with instance size
|X SE | grows polynomially with instance size
but this depends on numerical values of C
Number of Efficient Solutions
0 0.05 0.1 0.15 0.2 0.25 0.3
50 100 150 200 250 300 350 400 450 500
nb SE par rap. NE
instance
Bi-KP Problems : proportion de supportees
A B C D
0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
05 10 15 20 25 30 35 40 45 50
prop SE par rap. NE
instance Bi-AP Problems : prop SE par rap. NE
A B C D
Overview
1 Formulation and Definitions of Optimality
2 Complexity
3 The Multiobjective Shortest Path and Spanning Tree Problems
4 The Two Phase Method
5 Scalarization
6 Branch and Bound
7 Conclusion
Digraph G = (V, A) with arc costs c ij k , k = 1, . . . , p, (i, j ) ∈ A Given origin s ∈ V , destination t ∈ V find efficient paths from s to t:
P min ∈P
X
(i,j )∈P
c ij
where P is set of all s -t paths Assume that all c ij k = 0 Proposition
Let P st be an efficient path from s to t. Then any subpath P uv
from u to v , where u and v are vertices on P st is an efficient path
from u to v .
The Multiobjective Shortest Path Problem
Digraph G = (V, A) with arc costs c ij k , k = 1, . . . , p, (i, j ) ∈ A Given origin s ∈ V , destination t ∈ V find efficient paths from s to t:
P min ∈P
X
(i,j )∈P
c ij
where P is set of all s -t paths Assume that all c ij k = 0 Proposition
Let P st be an efficient path from s to t. Then any subpath P uv
from u to v , where u and v are vertices on P st is an efficient path
from u to v .
Digraph G = (V, A) with arc costs c ij k , k = 1, . . . , p, (i, j ) ∈ A Given origin s ∈ V , destination t ∈ V find efficient paths from s to t:
P min ∈P
X
(i,j )∈P
c ij
where P is set of all s -t paths Assume that all c ij k = 0 Proposition
Let P st be an efficient path from s to t. Then any subpath P uv
from u to v , where u and v are vertices on P st is an efficient path
from u to v .
The Multiobjective Shortest Path Problem
Digraph G = (V, A) with arc costs c ij k , k = 1, . . . , p, (i, j ) ∈ A Given origin s ∈ V , destination t ∈ V find efficient paths from s to t:
P min ∈P
X
(i,j )∈P
c ij
where P is set of all s -t paths Assume that all c ij k = 0 Proposition
Let P st be an efficient path from s to t. Then any subpath P uv
from u to v , where u and v are vertices on P st is an efficient path
from u to v .
Concatenations of efficient paths need not be efficient!
1
2
3
4 (0, 10) (0, 10)
(1, 9) (1, 9)
(1, 15)
1-3 is efficient, 3-4 is efficient, 1-3-4 is not
The Multiobjective Shortest Path Problem
Concatenations of efficient paths need not be efficient!
1
2
3
4 (0, 10) (0, 10)
(1, 9) (1, 9)
(1, 15)
1-3 is efficient, 3-4 is efficient, 1-3-4 is not
For a labelling algorithm we need
Sets of nondominated labels at each node
Store all costs, the predecessor, the label number at the predecessor, the number of the current label
A list of permanent and temporary labels
Make sure that a permanent label defines an efficient path:
Choose the lexicographically smallest label from temporary list Lemma
If P 1 and P 2 are two paths between nodes s and t and
c(P 1 ) ≤ c (P 2 ) then c(P 1 ) < lex c (P 2 ).
The Multiobjective Shortest Path Problem
For a labelling algorithm we need
Sets of nondominated labels at each node
Store all costs, the predecessor, the label number at the predecessor, the number of the current label
A list of permanent and temporary labels
Make sure that a permanent label defines an efficient path:
Choose the lexicographically smallest label from temporary list Lemma
If P 1 and P 2 are two paths between nodes s and t and
c(P 1 ) ≤ c (P 2 ) then c(P 1 ) < lex c (P 2 ).
For a labelling algorithm we need
Sets of nondominated labels at each node
Store all costs, the predecessor, the label number at the predecessor, the number of the current label
A list of permanent and temporary labels
Make sure that a permanent label defines an efficient path:
Choose the lexicographically smallest label from temporary list Lemma
If P 1 and P 2 are two paths between nodes s and t and
c(P 1 ) ≤ c (P 2 ) then c(P 1 ) < lex c (P 2 ).
The Multiobjective Shortest Path Problem
For a labelling algorithm we need
Sets of nondominated labels at each node
Store all costs, the predecessor, the label number at the predecessor, the number of the current label
A list of permanent and temporary labels
Make sure that a permanent label defines an efficient path:
Choose the lexicographically smallest label from temporary list Lemma
If P 1 and P 2 are two paths between nodes s and t and
c(P 1 ) ≤ c (P 2 ) then c(P 1 ) < lex c (P 2 ).
For a labelling algorithm we need
Sets of nondominated labels at each node
Store all costs, the predecessor, the label number at the predecessor, the number of the current label
A list of permanent and temporary labels
Make sure that a permanent label defines an efficient path:
Choose the lexicographically smallest label from temporary list Lemma
If P 1 and P 2 are two paths between nodes s and t and
c(P 1 ) ≤ c (P 2 ) then c(P 1 ) < lex c (P 2 ).
Algorithm (Multiobjective label setting algorithm)
Input: A digraph G = (V, A) with p arc costs.
Initialization: Create label L = (0, . . . , 0, 0, 0, 1) at node s and let T L := {L}.
While T L 6= ∅ do
Let label L = (c
1, . . . , c
p, v
h, l , k) of node v
ibe the lexicographically smallest label in T L.
Remove L from T L and add it to PL.
For all v
j∈ V such that (v
i, v
j) ∈ A do
Create label L
0= (c
1+ c
1(v
i, v
j), . . . , c
p+ c
p(v
i, v
j), v
i, k, t) as the next label at node v
jand add it to T L.
Delete all temporary labels of node v
jdominated by L
0, delete L
0if it is dominated by another label of node v
j.
End for.
End while.
Use the predecessor labels in the permanent labels to recover all efficient paths from s to other nodes of G.
Output: All efficient paths from node s to all other nodes of G.
1
2
3
4
5
6 (10
; 4
; 2
; 10)
(6
;
1
;
18
;
10)
(6;2;10;10)
(0;10;12;1)
(4
; 0
; 0
; 3)
(1;4;8;1)
(5;1;3;7)
(10
;
1
;
1
;
1)
(6
; 0
; 0
; 6)
Multiobjective Label Setting Algorithm
1 2
3
4
5 6 1
1
2 9
6 4
5 7
9 2
3 10
75
3 10
0 0 0 0 0 0 1
1
0
10
4 2 10
1 1 1
4
1
12
3 28 20 3 1 2
6
2
20 16 24 24 3 2 3
9
6 1 18 10 1 1 1
2
1
14 14 14 14 4 2 2
9
5
16
6 29 21 4 1 3
7
12
6 29 18 5 1 1
7
3
10 14 14 11 2 1 2
5
4
12 13 40 21 2 2 3
6
20 19 25 22 5 2 4
10
7 5 26 11 3 1 1
3
2
15 18 22 15 3 2 2
10
9
13
5 26 17 5 1 1
8
3
20 15 15 12 4 2 2
11
5
22
7 30 19 4 1 3
7
21 18 22 21 5 2 4
11
Label setting fails if negative arc lengths are permitted Negative cycles C
Case 1: If P
a∈C
c
ak< 0 and P
a∈C
c
aj> 0 for j 6= k there are infinitely many efficient paths
Case 2: If P
a∈C
c
a≤ 0 there is no efficient path A label correcting algorithm is required
Let L(i , k ) be set of labels at node i in iteration k
Multiobjective Label Correcting Algorithm
Label setting fails if negative arc lengths are permitted Negative cycles C
Case 1: If P
a∈C
c
ak< 0 and P
a∈C
c
aj> 0 for j 6= k there are infinitely many efficient paths
Case 2: If P
a∈C
c
a≤ 0 there is no efficient path A label correcting algorithm is required
Let L(i , k ) be set of labels at node i in iteration k
Label setting fails if negative arc lengths are permitted Negative cycles C
Case 1: If P
a∈C
c
ak< 0 and P
a∈C
c
aj> 0 for j 6= k there are infinitely many efficient paths
Case 2: If P
a∈C
c
a≤ 0 there is no efficient path A label correcting algorithm is required
Let L(i , k ) be set of labels at node i in iteration k
Multiobjective Label Correcting Algorithm
Label setting fails if negative arc lengths are permitted Negative cycles C
Case 1: If P
a∈C
c
ak< 0 and P
a∈C
c
aj> 0 for j 6= k there are infinitely many efficient paths
Case 2: If P
a∈C
c
a≤ 0 there is no efficient path A label correcting algorithm is required
Let L(i , k ) be set of labels at node i in iteration k
Label setting fails if negative arc lengths are permitted Negative cycles C
Case 1: If P
a∈C
c
ak< 0 and P
a∈C
c
aj> 0 for j 6= k there are infinitely many efficient paths
Case 2: If P
a∈C
c
a≤ 0 there is no efficient path A label correcting algorithm is required
Let L(i , k ) be set of labels at node i in iteration k
Multiobjective Label Correcting Algorithm
Label setting fails if negative arc lengths are permitted Negative cycles C
Case 1: If P
a∈C
c
ak< 0 and P
a∈C
c
aj> 0 for j 6= k there are infinitely many efficient paths
Case 2: If P
a∈C
c
a≤ 0 there is no efficient path A label correcting algorithm is required
Let L(i , k ) be set of labels at node i in iteration k
Input: A digraph G = (V, A) with p arc costs.
Initialization: Set d
ii:= (0, . . . , 0) for i = 1, . . . , n.
Set d
ij:= (∞, . . . , ∞) if v
i6= v
jand (v
i, v
j) ∈ A. / Set d
ij:= (c
1(v
i, v
j), . . . , c
p(v
i, v
j)) otherwise.
Set L(i , 1) := {d
1i}, i = 1, . . . , n.
For k := 1 to n − 1 do For i := 1 to n do
L(i , k + 1) := min
n
S
j=1
˘ d
ji+ l
jk: l
jk∈ L(j, k) ¯
End for.
If L(i, k + 1) = L(i, k) for all i = 1, . . . , n then If k = n − 1 then STOP, a negative cycle exists.
STOP End for.
Output: All efficient paths from node v
1to all other nodes.
Multiobjective Label Correcting Algorithm
1
2
3
4 (1,−1,2) (−1,0,3)
(0,3,−2) (5,3,3)
(−1,2,4) dij=
0 B B B B B B B B B B B B B B B B B
@ 0
@ 0 0 0
1 A
0
@ 1
−1 2
1 A
0
@ 0 3
−2 1 A
0
@
∞
∞
∞ 1 A 0
@
∞
∞
∞ 1 A
0
@ 0 0 0
1 A
0
@
−1 2 4
1 A
0
@
−1 0 3
1 A 0
@
∞
∞
∞ 1 A
0
@
∞
∞
∞ 1 A
0
@ 0 0 0
1 A
0
@ 5 3 3
1 A 0
@
∞
∞
∞ 1 A
0
@
∞
∞
∞ 1 A
0
@
∞
∞
∞ 1 A
0
@ 0 0 0
1 A
1 C C C C C C C C C C C C C C C C C A
1
2
3
4 0
0
0
!
1
1
2
!
0
3
2
! 1
1
1
!
Multiobjective Label Correcting Algorithm
1
2
3
4 0
0
0
!
1
1
2
!
min (
0
3
2
!
; 1
1
2
!
+ 1
2
4
!)
= (
0
3
2
!
; 0
1
6
!) min
(
1
1
2
!
+ 1
0
3
!
; 0
3
2
!
+ 5
3
3
!)
= (
0
1
5
!
; 5
6
1
!)
1
2
3
4 0
0
0
!
1
1
2
!
(
0
3
2
!
; 0
1
6
!) min
(
0
1
5
!
; 5
6
1
!
; 0
1
6
!
+ 5
3
3
!)
= (
0
1
5
!
; 5
6
1
!)
The Multiobjective Spanning Tree Problem
Graph G = (V, A) with edge costs c ij k , k = 1, . . . , p; (i, j ) ∈ E Find efficient spanning trees of G:
T min ∈T
X
[i,j ]∈T
c ij
where T is set of all spanning trees of G
Graph G = (V, A) with edge costs c ij k , k = 1, . . . , p; (i, j ) ∈ E Find efficient spanning trees of G:
T min ∈T
X
[i,j ]∈T
c ij
where T is set of all spanning trees of G
The Multiobjective Spanning Tree Problem
Theorem (Hamacher and Ruhe 1994)
T efficient spanning tree of G
1
Let e ∈ E(T ) be an edge of T . Let (V(T 1 ), E(T 1 )) and (V (T 2 ), E(T 2 )) be the two connected components of G \ {e }. Let
C (e) := {f = (v i , v j ) ∈ E : v i ∈ V (T 1 ), v j ∈ V(T 2 )} be the cut defined by deleting e. Then c (e) ∈ min{c (f ) : f ∈ C (e )}.
e
T1 T2
edges inC(e)
Theorem (Hamacher and Ruhe 1994)
T efficient spanning tree of G
1
Let f ∈ E \ E(T ) and let P (f ) be the unique path in T connecting the end nodes of f . Then c(f ) ≤ c (e ) does not hold for any e ∈ P (f ).
f
P(f)
The Multiobjective Spanning Tree Problem
Algorithm (Prim’s spanning tree algorithm) Input: A graph G = (V, E) with p edge costs.
T 0 := {({1}, ∅)}
For k := 1 to n − 1 do
T k := {E (T ) ∪ {e j } : T ∈ T k−1 , e j ∈ argmin{c (e ) = c ([v i , v j ]) : v i ∈ V (T ), v j ∈ V \ V(T )}}
End for
T n−1 := argmin{c(T ) : T ∈ T n−1 }
Output: T n−1 , all efficient spanning trees of G.
1 2
3 4 1
4
0
2
1
3
3
1 2
0
1
The Multiobjective Spanning Tree Problem
1 2
3 4 1
4
0
2
1
3
3
1 2
0
1
3
1 2
3 4 1
4
0
2
1
3
3
1 2
0
1 2
3
1 2
3
The Multiobjective Spanning Tree Problem
1 2
3 4 1
4
0
2
1
3
3
1 2
0
1 2
3
4 1
2
3 4
1 2
3
4 1
2
3 4
1 2
3 4 1
4
0
2
1
3
3
1 2
0
1 2
3
4 1
2
3 4
1 2
3
4 1
2
3 4
Overview
1 Formulation and Definitions of Optimality
2 Complexity
3 The Multiobjective Shortest Path and Spanning Tree Problems
4 The Two Phase Method
5 Scalarization
6 Branch and Bound
7 Conclusion
Phase 1: Compute X SE(1)
1
Find lexicographic solutions
2
Recursively:
Calculate λ Solve min
x∈X
λ
TCx Phase 2: Compute X NE
1
Solve by triangle
2
Use neighborhood (wrong)
3
Use constraints (bad)
4
Use variable fixing (possible)
5
Use ranking (good)
The Two Phase Method with 2 Objectives
Phase 1: Compute X SE(1)
1
Find lexicographic solutions
2
Recursively:
Calculate λ Solve min
x∈X
λ
TCx Phase 2: Compute X NE
1
Solve by triangle
2
Use neighborhood (wrong)
3
Use constraints (bad)
4
Use variable fixing (possible)
5
Use ranking (good)
0 1 2 3 4 5 6 7 8 9 100 1 2 3 4 5 6 7 8 9 10
Phase 1: Compute X SE(1)
1
Find lexicographic solutions
2
Recursively:
Calculate λ Solve min
x∈X
λ
TCx Phase 2: Compute X NE
1
Solve by triangle
2
Use neighborhood (wrong)
3
Use constraints (bad)
4
Use variable fixing (possible)
5
Use ranking (good)
0 1 2 3 4 5 6 7 8 9 100 1 2 3 4 5 6 7 8 9 10
The Two Phase Method with 2 Objectives
Phase 1: Compute X SE(1)
1
Find lexicographic solutions
2
Recursively:
Calculate λ Solve min
x∈X
λ
TCx Phase 2: Compute X NE
1
Solve by triangle
2
Use neighborhood (wrong)
3
Use constraints (bad)
4
Use variable fixing (possible)
5
Use ranking (good)
0 1 2 3 4 5 6 7 8 9 100 1 2 3 4 5 6 7 8 9 10
Phase 1: Compute X SE(1)
1
Find lexicographic solutions
2
Recursively:
Calculate λ Solve min
x∈X
λ
TCx Phase 2: Compute X NE
1
Solve by triangle
2
Use neighborhood (wrong)
3
Use constraints (bad)
4
Use variable fixing (possible)
5
Use ranking (good)
0 1 2 3 4 5 6 7 8 9 100 1 2 3 4 5 6 7 8 9 10
The Two Phase Method with 2 Objectives
Phase 1: Compute X SE(1)
1
Find lexicographic solutions
2
Recursively:
Calculate λ Solve min
x∈X
λ
TCx Phase 2: Compute X NE
1
Solve by triangle
2
Use neighborhood (wrong)
3
Use constraints (bad)
4
Use variable fixing (possible)
5
Use ranking (good)
0 1 2 3 4 5 6 7 8 9 100 1 2 3 4 5 6 7 8 9 10
Phase 1: Compute X SE(1)
1
Find lexicographic solutions
2
Recursively:
Calculate λ Solve min
x∈X
λ
TCx Phase 2: Compute X NE
1
Solve by triangle
2
Use neighborhood (wrong)
3
Use constraints (bad)
4
Use variable fixing (possible)
5
Use ranking (good)
0 1 2 3 4 5 6 7 8 9 100 1 2 3 4 5 6 7 8 9 10
The Two Phase Method with 2 Objectives
Phase 1: Compute X SE(1)
1
Find lexicographic solutions
2
Recursively:
Calculate λ Solve min
x∈X
λ
TCx Phase 2: Compute X NE
1
Solve by triangle
2
Use neighborhood (wrong)
3
Use constraints (bad)
4
Use variable fixing (possible)
5
Use ranking (good)
0 1 2 3 4 5 6 7 8 9 100 1 2 3 4 5 6 7 8 9 10
Phase 1: Compute X SE(1)
1
Find lexicographic solutions
2
Recursively:
Calculate λ Solve min
x∈X
λ
TCx Phase 2: Compute X NE
1
Solve by triangle
2
Use neighborhood (wrong)
3
Use constraints (bad)
4
Use variable fixing (possible)
5
Use ranking (good)
0 1 2 3 4 5 6 7 8 9 100 1 2 3 4 5 6 7 8 9 10
Enumeration Problems
Finding maximal complete set:
Enumeration to find all optimal solutions of min
x∈Xλ
TCx Enumeration to find all x ∈ X
NEwith Cx = y ∈ Y
NDFinding minimal complete set:
Enumeration to find X
SE2205 210 215 220 225 230 235
195 200 205 210 215 220 225
z2
z1 ( 206,223 ) ( 207,222 ) ( 208,221 ) ( 209,220 ) ( 210,219 ) ( 211,218 ) ( 199,230 )
( 220,209 ) ( 218,211 ) ( 202,227 )
( 203,226 ) ( 204,225 )
( 212,217 ) ( 213,216 ) ( 214,215 ) ( 215,214 ) ( 216,213 )
z(x)∈ZSN1 z(x)∈ZSN2
λ= 0.5666
=0.5 λ
=0.4918 λ