Chinese Postman Problem¶
Definition¶
The Chinese postman problem (CPP) finds a minimum-length closed route traversing every edge at least once in a connected undirected network with nonnegative edge lengths. To solve the course version, find a minimum-cost pairing of the odd-degree vertices using shortest-path distances, duplicate the corresponding paths, and construct an Euler tour in the resulting network.
Interpretation¶
The Chinese postman problem asks for the shortest closed route that covers every edge at least once, like a postman who must walk every street and return to the post office. Without an Euler tour, which would use every edge exactly once, some edges must be repeated, and the question becomes which repetitions add the least length.
In the figure and have degree and and degree , so by the Euler network characterization there is no Euler tour. Duplicating the edge (dashed) raises both odd degrees to ; now every degree is even, and an Euler tour of the enlarged network covers all edges with length .
A closed route leaves every vertex as often as it arrives there, so it uses an even number of edge ends at each vertex, and an odd-degree vertex forces at least one repeated edge. Duplicating a path between two odd vertices makes both endpoints even and leaves the parity of the vertices in between unchanged, so the odd vertices are paired, each pair costing its shortest-path distance. Such a pairing exists because the number of odd vertices is even: each edge adds to the sum of all degrees.
The pairs are chosen jointly by a minimum-weight perfect matching, because pairing the closest odd vertices first can give a larger total than the best pairing.
Key Results¶
- If every vertex already has even degree, any Euler tour is optimal.
- The optimal cost is the sum of original edge lengths plus the minimum pairing cost.
- The shortest path between paired vertices can contain intermediate vertices.
Examples¶
In the figure, and are the two odd-degree vertices. Their direct edge costs 4, compared with via or via . Duplicating the direct edge gives route length . The dashed edge denotes this extra copy.
- The five-vertex example has total edge length 25 and minimum pairing cost 7, giving CPP value 32.
- Pairing A with D duplicates A-C-D, while pairing B with E duplicates B-E.
Prerequisites¶
Related Concepts¶
Sources¶
- OR Modelling · Week 4
Aliases: route inspection problem, CPP, postman problem
Last updated: 20 October 2026 03:02
Chinese Postman ProblemEuler TourVertex DegreeShortest Path ProblemMinimum-Weight Perfect MatchingEuler Tour Algorithm