Presentation is loading. Please wait.

Presentation is loading. Please wait.

5.4 T-joins and Postman Problems

Similar presentations


Presentation on theme: "5.4 T-joins and Postman Problems"β€” Presentation transcript:

1 5.4 T-joins and Postman Problems
Assume 𝑐β‰₯0 and 𝐺 is connected. Thm 5.23: A connected graph 𝐺 has an Euler tour if and only if every node of 𝐺 has even degree. Let π‘₯𝑒 be the number of extra traversals of edge 𝑒 in a postman tour. Construct the graph 𝐺π‘₯ by making 1+π‘₯𝑒 copies of 𝑒 for each 𝑒. 1 1 1 1 𝐺, x, and 𝐺π‘₯ Combinatorial Optimization 2016

2 Postman Problem is equivalent to the problem:
Minimize (𝑐𝑒π‘₯𝑒:π‘’βˆˆπΈ) (5.30) subject to π‘₯(𝛿(𝑣))≑|𝛿(𝑣)| (mod 2), for all π‘£βˆˆπ‘‰ π‘₯𝑒β‰₯0, for all π‘’βˆˆπΈ. π‘₯𝑒 integer, for all π‘’βˆˆπΈ. There is an optimal solution for which π‘₯ is {0, 1}-valued. (since 𝑐β‰₯0) We call a set π½βŠ†πΈ a postman set of 𝐺 if, for every π‘£βˆˆπ‘‰, 𝑣 is incident with an odd number of edges from 𝐽 iff 𝑣 has odd degree in 𝐺. Postman Problem Given: A graph 𝐺=(𝑉, 𝐸) and π‘βˆˆπ‘…πΈ such that 𝑐β‰₯0. Objective: To find a postman set 𝐽 such that 𝑐(𝐽) is minimum. Combinatorial Optimization 2016

3 Optimal T-Join Problem
(T-Joins) Let 𝐺=(𝑉, 𝐸) be a graph, and let π‘‡βŠ†π‘‰ such that |𝑇| is even. A T-join of 𝐺 is a set 𝐽 of edges such that |π½βˆ©π›Ώ(𝑣)|≑|π‘‡βˆ©{𝑣}| (mod 2), for all π‘£βˆˆπ‘‰ 𝐽 is a 𝑇-join iff the odd-degree nodes of the subgraph (𝑉, 𝐽) are exactly the elements of 𝑇. Optimal T-Join Problem Given: A graph 𝐺=(𝑉, 𝐸), a set π‘‡βŠ†π‘‰ such that |𝑇| is even, and a cost vector π‘βˆˆπ‘…πΈ. Objective: Find a 𝑇-join 𝐽 of 𝐺 such that 𝑐(𝐽) is minimum. Combinatorial Optimization 2016

4 Postman sets: Let 𝑇={π‘£βˆˆπ‘‰: |𝛿(𝑣)| is odd} ( need 𝑐β‰₯0) Even set:
Examples: Postman sets: Let 𝑇={π‘£βˆˆπ‘‰: |𝛿(𝑣)| is odd} ( need 𝑐β‰₯0) Even set: Even set is a set π΄βŠ†πΈ such that every node of (𝑉, 𝐴) has even degree. Let 𝑇=βˆ…. 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 𝐺 has no negative-cost circuit. (can find a negative-cost circuit or determine that none exists.) (π‘Ÿ, 𝑠)-paths: Let π‘Ÿ, π‘ βˆˆπ‘‰, and 𝑇={π‘Ÿ, 𝑠}. Every 𝑇-join 𝐽 contains the edge-set of an (π‘Ÿ, 𝑠)-path (otherwise, the component of the subgraph (𝑉, 𝐽) containing π‘Ÿ has only one node of odd degree, which is impossible.). So minimal 𝑇-joins are edge-sets of simple (π‘Ÿ, 𝑠)-paths. Combinatorial Optimization 2016

5 (Pf) ( β‡’) Suppose 𝐽 is a 𝑇-join and 𝐽′ is a 𝑇′-join. Let π‘£βˆˆπ‘‰.
Deleting a simple (π‘Ÿ, 𝑠)-path from a (not minimal) 𝑇-join 𝐽, we obtain even sets. Hence if the graph contains no negative-cost circuit, optimal 𝑇-join (and minimal) is minimum cost simple (π‘Ÿ, 𝑠)-path. (can solve the shortest simple (π‘Ÿ, 𝑠)-path problem for undirected graphs when negative edge costs are allowed, but negative cost circuits are not.) Prop 5.24: Let 𝐽′ be a 𝑇′-join of 𝐺. Then 𝐽 is a 𝑇-join of 𝐺 if and only if 𝐽△𝐽′ is a (𝑇△𝑇′)-join of 𝐺. (Pf) ( β‡’) Suppose 𝐽 is a 𝑇-join and 𝐽′ is a 𝑇′-join. Let π‘£βˆˆπ‘‰. Then |(𝐽△𝐽′)βˆ©π›Ώ(𝑣)| is even ⇔ |π½βˆ©π›Ώ(𝑣)|≑| π½β€²βˆ©π›Ώ(𝑣)| (mod 2) ⇔ 𝑣 is an element of neither or both of 𝑇 and 𝑇′. ⇔ π‘£βˆ‰π‘‡β–³π‘‡β€². (⇐) apply "only if" part with 𝐽 replaced by 𝐽△𝐽′ and 𝑇 replaced by 𝑇△𝑇′.  Combinatorial Optimization 2016

6 Solving the Optimal T-Join Problem
First, obtain an algorithm for the case 𝑐β‰₯0. Then transform a problem with negative costs into one with nonnegative costs. When 𝑐β‰₯0, there is always an optimal 𝑇-join that is minimal. The minimal 𝑇-join can be characterized, as follows. Prop 5.25: Every minimal 𝑇-join is the union of the edge-sets of |𝑇|/2 edge-disjoint simple paths, which join the nodes in 𝑇 in pairs. (Pf) {βˆͺ{ 𝑃 𝑖 }} is a 𝑇-join. Now, enough to show that any 𝑇-join contains such a set of edge-disjoint paths. Let π‘’βˆˆπ‘‡, and let 𝐻 be the component of (𝑉, 𝐽) that contains 𝑒. Then there is a node 𝑣≠𝑒 in π‘‡βˆ©π». (otherwise 𝑒 is the only node in 𝐻 of odd degree) So there is a simple (𝑒, 𝑣) path 𝑃 such that 𝐸(𝑃)βŠ†π½. Now 𝐽\E(𝑃) is a 𝑇′-join, where 𝑇′=π‘‡βˆ–{𝑒, 𝑣} by Proposition Repeat the argument.  Combinatorial Optimization 2016

7 𝑐(𝐽\E(𝑃))+𝑐(𝐸(𝑃′)βˆ’2𝑐( (𝐽\E(𝑃))∩𝐸(𝑃′) ) ≀𝑐(𝐽)βˆ’π‘(𝐸(𝑃))+𝑐(𝐸(𝑃′))<𝑐(𝐽),
Suppose (𝑐β‰₯0 and) an optimal 𝑇-join is expressed as union of edge-sets of paths as in Proposition 5.25, and 𝑃 is one of these paths, with 𝑃 joining 𝑒, π‘£βˆˆπ‘‡. Then 𝑃 is a minimum cost (𝑒, 𝑣)-path. Suppose there is a (𝑒, 𝑣)-path 𝑃′ in 𝐺 that has smaller cost than 𝑃. By Proposition 5.24, 𝐽△𝐸(𝑃)△𝐸(𝑃′) is a 𝑇-join. Since 𝐸(𝑃)βŠ†π½, its cost is 𝑐(𝐽\E(𝑃))+𝑐(𝐸(𝑃′)βˆ’2𝑐( (𝐽\E(𝑃))∩𝐸(𝑃′) ) ≀𝑐(𝐽)βˆ’π‘(𝐸(𝑃))+𝑐(𝐸(𝑃′))<𝑐(𝐽), a contradiction. Hence Prop 5.26: Suppose that 𝑐β‰₯0. Then there is an optimal 𝑇-join that is the union of |𝑇|/2 edge-disjoint shortest paths joining the nodes of 𝑇 in pairs. Combinatorial Optimization 2016

8 s.t. 𝑒1𝑣1, …, π‘’π‘˜π‘£π‘˜ is a pairing of the elements of 𝑇.
For any pair 𝑒, 𝑣 of nodes in 𝑇, let 𝑑(𝑒, 𝑣) be the cost of a least cost (𝑒, 𝑣)-path in 𝐺. Let |𝑇|=2π‘˜. The minimum cost 𝑇-join is (assuming 𝑐β‰₯0) minimize 𝑑 𝑒 𝑖 , 𝑣 𝑖 :𝑖=1,…,π‘˜ s.t 𝑒1𝑣1, …, π‘’π‘˜π‘£π‘˜ is a pairing of the elements of 𝑇. Form a complete graph 𝐺 = 𝑇, 𝐸 , give edge 𝑒𝑣 weight 𝑑(𝑒, 𝑣), and find a minimum-weight perfect matching of 𝐺 . Join the selected pairs in 𝐺 using shortest paths. If some edges overlap (since 𝑐𝑒=0 allowed), take symmetric difference. π‘ž 8 2 𝑝 π‘Ÿ 𝑣 𝑏 1 1 1 4 4 3 2 2 π‘Ž 4 𝑒 𝑠 1 3 9 𝑑 Combinatorial Optimization 2016

9 π‘ž π‘ž 8 2 5 2 6 5 7 𝑝 π‘Ÿ 𝑝 3 π‘Ÿ 𝑣 1 𝑏 6 1 1 4 4 5 4 3 4 3 3 2 2 π‘Ž 4 𝑒 𝑠 𝑒 𝑠 7 1 3 9 3 π‘ž 𝑑 𝑑 8 2 𝑝 π‘Ÿ 𝑣 𝑏 1 1 1 4 3 4 2 2 π‘Ž 4 𝑒 𝑠 Optimal 𝑇-join 1 3 9 𝑑 Combinatorial Optimization 2016

10 Negative Costs Given π‘βˆˆπ‘…πΈ, let 𝑁={π‘’βˆˆπΈ: 𝑐𝑒<0}. Let 𝑇′ be the set of nodes of 𝐺 that have odd degree in the subgraph (𝑉, 𝑁). Then 𝑁 is a 𝑇′-join. By proposition 5.24, 𝐽 is a 𝑇-join ⇔ 𝐽△𝑁 is a (𝑇△𝑇′)-join. 𝑐(𝐽)=𝑐(𝐽\N)+𝑐(π½βˆ©π‘) =𝑐(𝐽\N)βˆ’π‘(π‘βˆ–J)+𝑐(𝑁\J)+𝑐(𝐽⋂𝑁) =|𝑐|(𝐽△𝑁)+𝑐(𝑁). ( |𝑐| is the vector defined by |𝑐|𝑒=|𝑐𝑒|.) 𝑐(𝑁) is a constant that does not depend on 𝐽. Hence 𝐽 is an optimal 𝑇-join w.r.t. cost vector 𝑐 ⇔ 𝐽△𝑁 is an optimal (𝑇△𝑇′)-join w.r.t. cost vector |𝑐|. Combinatorial Optimization 2016

11 Optimal T-Join Algorithm
Step 1. Identify the set 𝑁 of edges having negative cost, and the set 𝑇′ of nodes incident with an odd number of edges from 𝑁. Replace 𝑐 by |𝑐| and 𝑇 by 𝑇△𝑇′. Step 2. Find a least-cost (𝑒, 𝑣)-path 𝑃𝑒𝑣 w.r.t. cost vector 𝑐 for each pair 𝑒, 𝑣 of nodes from 𝑇. Let 𝑑(𝑒, 𝑣) be the cost of 𝑃𝑒𝑣. Step 3. Form a complete graph 𝐺 = 𝑇, 𝐸 with 𝑒𝑣 having weight 𝑑(𝑒, 𝑣) for each π‘’π‘£βˆˆ 𝐸 . Find a minimum-weight perfect matching 𝑀 in 𝐺 . Step 4. Let 𝐽 be the symmetric difference of the edge-sets of paths 𝑃𝑒𝑣 for π‘’π‘£βˆˆπ‘€. Step 5. Replace 𝐽 by 𝐽△𝑁. Combinatorial Optimization 2016

12 |𝑐|-optimal (𝑇△𝑇′)-join
π‘Ž 2 𝑏 π‘Ž 2 𝑏 -2 2 2 2 5 5 -3 3 π‘Ÿ 𝑐 𝑠 π‘Ÿ 𝑐 𝑠 1 6 1 6 1 2 1 2 2 2 𝑑 𝑒 𝑒 𝑑 𝐺, 𝑇, 𝑐 𝐺, 𝑇△𝑇′, |𝑐| π‘Ž 𝑏 π‘Ž 𝑏 π‘Ÿ 𝑐 𝑠 π‘Ÿ 𝑐 𝑠 𝑑 𝑒 𝑑 𝑒 |𝑐|-optimal (𝑇△𝑇′)-join 𝑐-optimal 𝑇-join Combinatorial Optimization 2016


Download ppt "5.4 T-joins and Postman Problems"

Similar presentations


Ads by Google