Misplaced Pages

Mixed Chinese postman problem

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Problem in mathematics
This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (May 2022) (Learn how and when to remove this message)

The mixed Chinese postman problem (MCPP or MCP) is the search for the shortest traversal of a graph with a set of vertices V, a set of undirected edges E with positive rational weights, and a set of directed arcs A with positive rational weights that covers each edge or arc at least once at minimal cost. The problem has been proven to be NP-complete by Papadimitriou. The mixed Chinese postman problem often arises in arc routing problems such as snow ploughing, where some streets are too narrow to traverse in both directions while other streets are bidirectional and can be plowed in both directions. It is easy to check if a mixed graph has a postman tour of any size by verifying if the graph is strongly connected. The problem is NP hard if we restrict the postman tour to traverse each arc exactly once or if we restrict it to traverse each edge exactly once, as proved by Zaragoza Martinez.

Mathematical Definition

The mathematical definition is:

Input: A strongly connected, mixed graph G = ( V , E , A ) {\displaystyle G=(V,E,A)} with cost c ( e ) 0 {\displaystyle c(e)\geq 0} for every edge e E A {\displaystyle e\subset E\cup A} and a maximum cost c m a x {\displaystyle c_{max}} .

Question: is there a (directed) tour that traverses every edge in E {\displaystyle E} and every arc in A {\displaystyle A} at least once and has cost at most c m a x {\displaystyle c_{max}} ?

Computational complexity

The main difficulty in solving the Mixed Chinese Postman problem lies in choosing orientations for the (undirected) edges when we are given a tight budget for our tour and can only afford to traverse each edge once. We then have to orient the edges and add some further arcs in order to obtain a directed Eulerian graph, that is, to make every vertex balanced. If there are multiple edges incident to one vertex, it is not an easy task to determine the correct orientation of each edge. The mathematician Papadimitriou analyzed this problem with more restrictions; "MIXED CHINESE POSTMAN is NP-complete, even if the input graph is planar, each vertex has degree at most three, and each edge and arc has cost one."

Eulerian graph

The process of checking if a mixed graph is Eulerian is important to creating an algorithm to solve the Mixed Chinese Postman problem. The degrees of a mixed graph G must be even to have an Eulerian cycle, but this is not sufficient.

Approximation

The fact that the Mixed Chinese Postman is NP-hard has led to the search for polynomial time algorithms that approach the optimum solution to reasonable threshold. Frederickson developed a method with a factor of 3/2 that could be applied to planar graphs, and Raghavachari and Veerasamy found a method that does not have to be planar. However, polynomial time cannot find the cost of deadheading, the time it takes a snow plough to reach the streets it will plow or a street sweeper to reach the streets it will sweep.

Formal definition

Given a strongly connected mixed graph G = ( V , E , A ) {\displaystyle G=(V,E,A)} with a vertex set V {\displaystyle V} , and edge set E {\displaystyle E} , an arc set A {\displaystyle A} and a nonnegative cost c e {\displaystyle c_{e}} for each e E A {\displaystyle e\in E\cup A} , the MCPP consists of finding a minim-cost tour passing through each link e E A {\displaystyle e\in E\cup A} at least once.

Given S V {\displaystyle S\subset V} , δ + ( S ) = { ( i , j ) A : i S , j V S } {\displaystyle \delta ^{+}(S)=\{(i,j)\in A:i\in S,j\in V\backslash S\}} , δ ( S ) = { ( i , j ) A : i V S , j S } {\displaystyle \delta ^{-}(S)=\{(i,j)\in A:i\in V\backslash S,j\in S\}} , δ ( S ) {\displaystyle \delta (S)} denotes the set of edges with exactly one endpoint in S {\displaystyle S} , and δ = δ ( S ) δ + ( S ) δ {\displaystyle \delta ^{\star }=\delta (S)\cup \delta ^{+}(S)\cup \delta ^{-}} . Given a vertex i {\textstyle i} , d i {\displaystyle d_{i}^{-}} (indegree) denotes the number of arcs enter i {\displaystyle i} , d i + {\displaystyle d_{i}^{+}} (outdegree) is the number of arcs leaving i {\textstyle i} , and d i {\displaystyle d_{i}} (degree) is the number of links incident with i {\displaystyle i} . Note that d i = | δ ( { i } ) | {\displaystyle d_{i}=|\delta ^{\star }(\{{i}\})|} . A mixed graph G = ( V , E , A ) {\displaystyle G=(V,E,A)} is called even if all of its vertices have even degree, it is called symmetric if d i = d i + {\displaystyle d_{i}^{-}=d_{i}^{+}} for each vertex i {\textstyle i} , and it is said to be balanced if, given any subset S {\displaystyle S} of vertices, the difference between the number of arcs directed from S {\displaystyle S} to V S {\displaystyle V\backslash S} , | δ + ( S ) | {\displaystyle |\delta ^{+}(S)|} , and the number of arcs directed from V S {\displaystyle V\backslash S} to S {\displaystyle S} , | δ ( S ) | {\displaystyle |\delta ^{-}(S)|} , is no greater than the number of undirected edges joining S {\displaystyle S} and V S {\displaystyle V\backslash S} , | δ ( S ) | {\displaystyle |\delta (S)|} .

It is a well known fact that a mixed graph G {\displaystyle G} is Eulerian if and only if G {\displaystyle G} is even and balanced. Notice that if G {\displaystyle G} is even and symmetric, then G is also balanced (and Eulerian). Moreover, if G {\displaystyle G} is even, the M C P P {\displaystyle MCPP} can be solved exactly in polynomial time.

Even MCPP Algorithm

  1. Given an even and strongly connected mixed graph G = ( V , E , A ) {\displaystyle G=(V,E,A)} , let A 1 {\displaystyle A_{1}} be the set of arcs obtained by randomly assigning a direction to the edges in E {\displaystyle E} and with the same costs. Compute s i = d i d i + {\displaystyle s_{i}=d_{i}^{-}-d_{i}^{+}} for each vertex i in the directed graph ( V , A A 1 ) {\displaystyle (V,A\cup A_{1})} . A vertex i {\textstyle i} with s i > 0 ( s i < 0 ) {\displaystyle s_{i}>0(s_{i}<0)} will be considered as a source (sink) with supply demand s i ( s i ) {\displaystyle s_{i}(-s_{i})} . Note that as G {\displaystyle G} is an even graph, all supplies and demands are even numbers (zero is considered an even number).
  2. Let A 2 {\displaystyle A_{2}} be the set of arcs in the opposite direction to those in A 1 {\displaystyle A_{1}} and with the costs of those corresponding edges, and let A 3 {\displaystyle A_{3}} be the set of arcs parallel to A 2 {\displaystyle A_{2}} at zero cost.
  3. To satisfy the demands s i {\displaystyle s_{i}} of all the vertices, solve a minimum cost flow problem in the graph ( V , A A 1 A 2 A 3 ) {\displaystyle (V,A\cup A_{1}\cup A_{2}\cup A_{3})} , in which each arc in A A 1 A 2 {\displaystyle A\cup A_{1}\cup A_{2}} has infinite capacity and each arc in A 3 {\displaystyle A_{3}} has capacity 2. Let x i j {\displaystyle x_{ij}} be the optimal flow.
  4. For each arc ( i , j ) {\displaystyle (i,j)} in A 3 {\displaystyle A_{3}} do: If x i j = 2 {\displaystyle x_{ij}=2} , then orient the corresponding edge in G {\displaystyle G} from i {\displaystyle i} to j {\displaystyle j} (the direction, from j {\displaystyle j} to i {\displaystyle i} , assigned to the associated edge in step 1 was "wrong"); if x i j = 0 {\displaystyle x_{ij}=0} , then orient the corresponding edge in G {\displaystyle G} from j {\displaystyle j} to i {\displaystyle i} (in this case, the orientation in step 1 was "right"). Note the case x i j = 1 {\displaystyle x_{ij}=1} is impossible, as all flow values through arcs in A 3 {\displaystyle A_{3}} are even numbers.
  5. Augment G {\displaystyle G} by adding x i j {\displaystyle x_{ij}} copies of each arc in A A 1 A 2 {\displaystyle A\cup A_{1}\cup A_{2}} . The resulting graph is even and symmetric.

Heuristic algorithms

When the mixed graph is not even and the nodes do not all have even degree, the graph can be transformed into an even graph.

  • Let G = { V , E , A } {\displaystyle \mathrm {G=\{V,E,A\}} } be a mixed graph that is strongly connected. Find the odd degree nodes by ignoring the arc directions and obtain a minimal-cost matching. Augment the graph with the edges from the minimal cost matching to generate an even graph G = { V , E , A } {\displaystyle \mathrm {G'=\{V',E',A'\}} } .
  • The graph is even but is not symmetric and an eulerian mixed graph is even and symmetric. Solve a minimum cost flow problem in G {\displaystyle G'} to obtain a symmetric graph that may not be even G {\displaystyle G''} .
  • The final step involves making the symmetric graph G {\displaystyle G''} even. Label the odd degree nodes V O {\displaystyle V_{O}} . Find cycles that alternate between lines in the arc set A A {\displaystyle A''\backslash A} and lines in the edge set E {\displaystyle E''} that start and end at points in V O {\displaystyle V_{O}} . The arcs in A A {\displaystyle A''\backslash A} should be considered as undirected edges, not as directed arcs.

Genetic algorithm

A paper published by Hua Jiang et. al laid out a genetic algorithm to solve the mixed chinese postman problem by operating on a population. The algorithm performed well compared to other approximation algorithms for the MCPP.

See also

References

  1. Minieka, Edward (July 1979). "The Chinese Postman Problem for Mixed Networks". Management Science. 25 (7): 643–648. doi:10.1287/mnsc.25.7.643. ISSN 0025-1909.
  2. Papadimitriou, Christos H. (July 1976). "On the complexity of edge traversing". Journal of the ACM. 23 (3): 544–554. doi:10.1145/321958.321974. ISSN 0004-5411. S2CID 8625996.
  3. Zaragoza Martinez, Francisco (September 2006). "Complexity of the Mixed Postman Problem with Restrictions on the Arcs". 2006 3rd International Conference on Electrical and Electronics Engineering. IEEE. pp. 1–4. doi:10.1109/iceee.2006.251877. ISBN 1-4244-0402-9.
  4. Zaragoza Martinez, Francisco (2006). "Complexity of the Mixed Postman Problem with Restrictions on the Edges". 2006 Seventh Mexican International Conference on Computer Science. IEEE. pp. 3–10. doi:10.1109/enc.2006.9. ISBN 0-7695-2666-7. S2CID 17176905.
  5. Edmonds, Jack; Johnson, Ellis L. (December 1973). "Matching, Euler tours and the Chinese postman". Mathematical Programming. 5 (1): 88–124. doi:10.1007/bf01580113. ISSN 0025-5610. S2CID 15249924.
  6. Corberán, Ángel (2015). Arc Routing: Problems, Methods, and Applications. ISBN 978-1-61197-366-2.
  7. Papadimitriou, Christos H. (July 1976). "On the complexity of edge traversing". Journal of the ACM. 23 (3): 544–554. doi:10.1145/321958.321974. ISSN 0004-5411. S2CID 8625996.
  8. Randolph., Ford, Lester (2016). Flows in Networks. Princeton University Press. ISBN 978-1-4008-7518-4. OCLC 954124517.{{cite book}}: CS1 maint: multiple names: authors list (link)
  9. Frederickson, Greg N. (July 1979). "Approximation Algorithms for Some Postman Problems". Journal of the ACM. 26 (3): 538–554. doi:10.1145/322139.322150. ISSN 0004-5411. S2CID 16149998.
  10. Raghavachari, Balaji; Veerasamy, Jeyakesavan (January 1999). "A 3/2-Approximation Algorithm for the Mixed Postman Problem". SIAM Journal on Discrete Mathematics. 12 (4): 425–433. doi:10.1137/s0895480197331454. ISSN 0895-4801.
  11. Zaragoza Martinez, Francisco (2006). "Complexity of the Mixed Postman Problem with Restrictions on the Edges". 2006 Seventh Mexican International Conference on Computer Science. IEEE. pp. 3–10. doi:10.1109/enc.2006.9. ISBN 0-7695-2666-7. S2CID 17176905.
  12. Zaragoza Martinez, Francisco (September 2006). "Complexity of the Mixed Postman Problem with Restrictions on the Arcs". 2006 3rd International Conference on Electrical and Electronics Engineering. IEEE. pp. 1–4. doi:10.1109/iceee.2006.251877. ISBN 1-4244-0402-9.
  13. Corberán, Ángel (2015). Arc Routing: Problems, Methods, and Applications. ISBN 978-1-61197-366-2.
  14. Ford, L.R. (1962). Flows in Networks. Princeton, N.J.: Princeton University Press.
  15. Edmonds, Jack; Johnson, Ellis L. (December 1973). "Matching, Euler tours and the Chinese postman". Mathematical Programming. 5 (1): 88–124. doi:10.1007/bf01580113. ISSN 0025-5610. S2CID 15249924.
  16. Jiang, Hua; Kang, Lishan; Zhang, Shuqi; Zhu, Fei (2010), Cai, Zhihua; Hu, Chengyu; Kang, Zhuo; Liu, Yong (eds.), "Genetic Algorithm for Mixed Chinese Postman Problem", Advances in Computation and Intelligence, Lecture Notes in Computer Science, vol. 6382, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 193–199, doi:10.1007/978-3-642-16493-4_20, ISBN 978-3-642-16492-7, retrieved 2022-10-25
Category: