🧩 Constraint Solving POTD:Problem of the Day: The Chinese Postman Problem #39217
Closed
Replies: 1 comment
-
|
This discussion was automatically closed because it expired on 2026-06-21T12:08:01.381Z.
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Problem Statement
The Chinese Postman Problem (CPP) asks: given a weighted graph representing a network of streets or routes, what is the shortest closed walk that traverses every edge at least once?
This differs from the Traveling Salesman Problem (TSP), which visits every vertex. Here, we must cover every edge.
Concrete Instance
Consider a mail carrier delivering letters on a street network:
Goal: Find the shortest route that traverses all 7 streets and returns to the starting point, repeating some streets if necessary.
Output: The total distance of the optimal route.
Why It Matters
Mail delivery & waste collection: Postal carriers and garbage trucks must traverse every street in their assigned zone at least once. CPP directly models this routing requirement.
Snow plowing & road maintenance: Municipal services must plow or repair every road before returning to the depot. CPP captures the essence of minimizing travel distance while ensuring complete coverage.
Network inspection: Utility companies inspecting gas lines, electrical cables, or water mains need efficient routes covering all segments.
Modeling Approaches
Approach 1: Graph-Theoretic / Matching (Classic CPP)
Paradigm: Pure combinatorial optimization using graph theory.
Key idea:
Decision variables: Which edges to duplicate (binary assignment).
Constraints: Every vertex must have even degree after duplication.
Trade-offs:
Approach 2: Integer Linear Programming (ILP)
Paradigm: MIP formulation with flow conservation.
Key idea:
x_e ∈ Z+= number of times edgeeis traversed.∑ cost(e) × x_e.Constraints:
x_e ≥ 1∀eTrade-offs:
Example Model (Pseudo-code)
Key Techniques
1. Odd-Degree Vertex Matching
The CPP reduces to finding a minimum-weight perfect matching on vertices of odd degree. After matching, duplicate these edges and solve the Eulerian circuit problem—linear-time via Hierholzer's or Fleury's algorithm.
2. Chinese Postman Variants: Directedness
3. Relaxation & Bounds
For heuristic or approximation approaches, relax the integer constraint or use LP relaxation to obtain a lower bound. A simple heuristic: traverse the MST twice (2-approximation for undirected graphs).
Challenge Corner
Can you extend the Chinese Postman Problem to handle this real-world scenario?
Suppose the mail carrier has a maximum working day of 8 hours, and certain streets cannot be traversed during rush hour (9–10 AM). How would you model this as a time-dependent, capacitated variant?
Additionally: if the graph is directed (one-way streets), does the solution method change fundamentally?
References
Korte, B., & Vygen, J. (2018). Combinatorial Optimization: Theory and Algorithms (6th ed.). Springer. – Comprehensive treatment of graph algorithms and the CPP.
Dror, M. (Ed.). (2000). Arc Routing: Theory, Solutions and Applications. Kluwer Academic. – Definitive reference for arc-routing problems.
Christofides, N. (1973). "Graph theory: An algorithmic approach." Computer Science and Applied Mathematics. – Classic text introducing matchings and Eulerian paths.
Eiselt, H. A., Gendreau, M., & Laporte, G. (1995). "Arc routing problems, Part I: The Chinese postman problem." Operations Research, 43(2), 231–242. – Seminal survey of CPP variants and solution methods.
Discussion: What challenges have you encountered when routing vehicles or workers to cover all streets? Share your problem variations or solution approaches in the comments!
Beta Was this translation helpful? Give feedback.
All reactions