Title: Linear Programming Optimization
15.4 T-Joins and Postman Problems
- Postman Problems
- Assume c ? 0 and G is connected.
- Thm 5.23 A connected graph G has an Euler tour
if and only if every node of G has even degree. - Let xe be the number of extra traversals of edge
e in a postman tour. Construct the graph Gx by
making 1 xe copies of e for each e.
0
1
0
1
0
1
0
0
1
0
G, x, and Gx
2- Postman Problem is equivalent to the problem
- Minimize ?(cexe e ?E) (5.30)
- subject to x(?(v)) ? ?(v) (mod 2),
for all v ?V - xe ? 0, for all e ?E.
- xe integer, for all e ?E.
- There is an optimal solution for which x is 0,
1-valued. (since c ? 0) - We call a set J ? E a postman set of G if, for
every v ?V, v is incident with an odd number of
edges from J iff v has odd degree in G.
Postman Problem Given A graph G (V, E) and
c ?RE such that c ? 0. Objective To find a
postman set J such that c(J) is minimum.
3(T-Joins)
- Let G (V, E) be a graph, and let T ?V such that
T is even. - A T-join of G is a set J of edges such that
- J??(v) ? T?v (mod 2), for all v
?V - J is a T-join iff the odd-degree nodes of the
subgraph (V, J) are exactly the elements of T.
Optimal T-Join Problem Given A graph G (V,
E), a set T ?V such that T is even, and a cost
vector c ?RE . Objective Find a T-join J of G
such that c(J) is minimum.
4- Examples
- Postman sets Let T v ?V ?(v) is odd (
need c ? 0) - Even set
- Even set is a set A ?E such that every node of
(V, A) has even degree. Let T ?. - If costs are nonnegative, ? is optimal.
- A set is even iff it can be decomposed into
edge-sets of edge-disjoint circuits. - Hence ? is optimal iff G has no negative-cost
circuit. - (can find a negative-cost circuit of determine
that none exists.) - (r, s)-paths
- Let r, s ?V, and T r, s.
- Every T-join J contains the edge-set of an (r,
s)-path (otherwise, the component of the
subgraph (V, J) containing r has only one node of
odd degree, which is impossible.). So minimal
T-joins are edge-sets of simple (r, s)-paths.
5- Deleting a simple (r, s)-path from a ( not
minimal) T-join J, we obtain even sets. Hence if
the graph contains no negative-cost circuit,
optimal T-join (and minimal) is minimum cost
simple (r, s)-path. - (can solve the shortest simple (r, s)-path
problem for undirected graphs when negative edge
costs are allowed, but negative cost circuits are
not.) - Prop 5.24 Let J' be a T'-join of G. Then J is
a T-join of G if and only if J?J' is a
(T?T')-join of G. - (Pf) ( gt) Suppose J is a T-join and J' is a
T'-join. Let v ?V. - Then (J?J') ??(v) is even ltgt J??(v) ?
J'??(v) (mod 2) - ltgt v is an element of neither or both of T
and T'. - ltgt v? T?T'.
- (lt) apply "only if" part with J replaced by
J?J' and T replaced by T?T'. ?
6Solving the Optimal T-Join Problem
- Assume c ? 0. Then there is always an optimal
T-join that is minimal. Problems with negative
costs can be transformed into nonnegative costs
case. - Prop 5.25 Every minimal T-join is the union of
the edge-sets of T/2 edge-disjoint simple
paths, which join the nodes in T in pairs. - (Pf) ?Pi ? edge-sets of min T-joins
- To show reverse inclusion, show any T-join
contains such a set of edge-disjoint paths. - Let u ? T, and let H be the component of (V, J)
that contains u. Then there is a node v ?u in T
? H. (otherwise u is the only node in H of odd
degree) - So there is a simple (u, v) path P such that
E(P) ? J. Now J\E(P) is a T'-join, where T'
T\u, v by Proposition 5.24. Repeat the
argument. ?
7- Suppose an optimal T-join is expressed as union
of edge-sets of paths and P is one of these
paths, with P joining u, v ?T. Then P is a
minimum cost (u, v)-path. - Suppose there is a (u, v)-path P' in G that has
smaller cost than P. By Proposition 5.24, J
?E(P) ?E(P') is a T-join. Since E(P) ?J, its
cost is - c(J\E(P)) c(E(P') - 2c( (J\E(P)) ? E(P') )
- ? c(J) - c(E(P)) c(E(P')) lt c(J),
- a contradiction. Hence
- Prop 5.26 Suppose that c ? 0. Then there is an
optimal T-join that is the union of T/2
edge-disjoint shortest paths joining the nodes of
T in pairs.
8- For any pair u, v of nodes in T, let d(u, v) be
the cost of a least cost (u, v)-path in G. Let
T 2k. The minimum cost T-join is (assuming
c ? 0) - minimize ?( d(ui, vi) i 1, , k)
- s.t. u1v1, , ukvk is a pairing of the
elements of T. - Form a complete graph G (T, E), give edge uv
weight d(u, v), and find a minimum-weight perfect
matching of G. Join the selected pairs in G
using shortest paths. If some edges overlap
(since ce 0 allowed), take symmetric
difference.
q
2
8
p
r
v
b
1
1
1
4
3
4
2
2
a
4
u
s
1
3
9
t
9q
q
2
2
8
5
5
6
7
p
3
r
p
r
v
6
b
1
4
1
1
4
5
4
3
3
3
4
2
2
a
4
u
s
u
s
7
1
3
9
3
q
t
t
2
8
p
r
v
b
1
1
1
4
3
4
2
2
a
4
u
s
Optimal T-join
1
3
9
t
10Negative Costs
- Given c ?RE, let N e ?E ce lt 0. Let T' be
the set of nodes of G that have odd degree in the
subgraph (V, N). Then N is a T'-join. - By proposition 5.24, J is a T-join ltgt J ?N
is a (T ?T')-join. - c(J) c(J\N) c(J ?N)
- c(J\N) - c(N\J) c(N\J) c(J ?N)
- c(J ?N) c(N).
- ( c is the vector defined by ce ce.)
-
- c(N) is a constant that does not depend on J.
Hence - J is an optimal T-join w.r.t. cost vector c
- ltgt J ?N is an optimal (T ?T')-join w.r.t.
cost vector c.
11Optimal T-Join Algorithm Step 1. Identify the
set N of edges having negative cost, and the set
T' of nodes incident with an odd number of edges
from N. Replace c by c and T by T ?T'. Step 2.
Find a least-cost (u, v)-path Puv w.r.t. cost
vector c for each pair u, v of nodes from T. Let
d(u, v) be the cost of Puv. Step 3. Form a
complete graph G (T, E) with uv having weight
d(u, v) for each uv ?E. Find a minimum-weight
perfect matching M in G. Step 4. Let J be the
symmetric difference of the edge-sets of paths
Puv for uv ?M. Step 5. Replace J by J ?N.
12a
a
b
b
2
2
2
2
-2
2
5
5
-3
3
r
c
r
c
s
s
6
6
1
1
1
2
1
2
2
2
e
e
d
d
G, T, c
G, T?T', c
a
b
a
b
r
c
s
r
c
s
e
e
d
d
c-optimal (T?T')-join
c-optimal T-join