ClassW04ApproxAlgs/ZhengFu

ClassS04CS141 | ClassW04ApproxAlgs | recent changes | Preferences

Showing revision 50

1. Introduction

The mixed postman problem (MPP) is a generalization of the Chinese Postman Problem (CPP). In the MPP, the input graph may contain both undirected edges and arcs (directed edges). The objective is to find a tour that traverses every edge at least once and traversed directed edges only in the direction of the arc.

Even though both undirected and directed versions of the CPP are polynomial time solvable, Papadimitriou showed MPP is NP-hard.


2. Definitions

Mixed graph: a graph may contain both undirected edges and arcs (directed edges).G(V,E,A,C): V-vertices E-edges A-arcs C-costs on E and A.


3. Properties of Eulerian graphs

A graph is Eulerian if there is a tour that traverses each edge of the graph exactly once.

If a mixed graph satisfies both the conditions, there exists a tour using each edges and arcs just once. And we can find the directed or undirected Eulerian tour in polynomial time. So here we are interested in is to find a set of additional edges and arcs of minimum total cost that can be added to mixed graph to make it Eulerian and identify the tour over the resulting graph.

Basically, the output is a Eulerian graph H that contains the input graph G as a subgraph. So each edge of H can be classified either as an original edge or as a duplicated edge. Also, each arc of H is either an original arc, a duplicated arc an oriented edge, or a duplicated and oriented edge.

Frederickson presented an approximation algorithm for MPP called Mixed algorithm. The algorithm comprises two heuristics called Mixed1 and Mixed2. Both of them are 2-approximation algorithm for MPP.


4. Mixed1: A 2 – approximation algorithm ( G.N.Frederickson 1979 )

Mixed1

  1. Modify the graph to make the degree of each vertex even by duplicating edges and arcs with minimum cost.
  2. Make the indegree of each vertex equal to the outdegree by orienting some edges and duplicated arcs and oriented edges with minimum cost.
  3. Because the second step may not necessarily maintain even degree of each vertex, adjust the graph to maintain the even degree and the indegree equals to outdegree by not increasing the cost.

Algorithm MIXED1

Input: Mixed graph G = (V, E, A, C); Output: A postman tour

  1. Call EVENDEGREE
  2. Call INOUTDEGREE
  3. Call EVENPARITY
  4. Find an Eulerian tour over the new graph

Algorithm EVENDEGREE

Input: Mixed graph G = (V, E, A, C); Output: A mixed graph G’ = (V, E', A', C'), E ⊆ E' A ⊆ A' , and the degree of each vertex, ignoring arc direction, is even.

  1. Identify the vertices of odd degree
  2. Find all shortest paths between the odd vertices, ignoring arc direction
  3. Perform a minimum-cost matching of the odd vertices using the shortest path distance
  4. Duplicate the arcs and edges in the shortest paths used in the matching.
  5. A'= A ∪ {duplicated arcs};E'=E ∪ {duplicated edges}

Algorithm INOUTGREE Algorithm EVENPARITY


ClassS04CS141 | ClassW04ApproxAlgs | recent changes | Preferences
This page is read-only | View other revisions | View current revision
Edited March 16, 2004 5:49 pm by enzyme.cs.ucr.edu (diff)
Search: