6.4 ROUTING PROBLEMS
One of the most common problems in urban service systems is the design of routes for vehicles or people. In some instances, these routes must be designed so that they traverse in an exhaustive way the streets in a neighborhood or in a specific part of a city or, occasionally, in a whole city. Alternatively, the objective may be to visit a set of given geographical points in a city in order to provide some service there or to deliver or collect goods. Examples in which the first type of routing problem arises include the cleaning and sweeping of streets, the plowing of snow after a snowstorm, the delivery of mail to residences, and the collection of refuse from houses. On the other hand, the daily routing of school buses, the distribution of newspapers to newsstands and kiosks, the routine inspection of and coin collection from public telephone booths, and the delivery of mail packages to addressees are all illustrations of the point-visiting type of routing problem. For obvious reasons, these two classes of problems are referred to as edge-covering and node-covering problems, respectively. Certain specific, versions of these problems have, over the years, received extensive treatment in the mathematics and operations research literature. For instance, the famous "traveling salesman problem," the best-known and most straight-forward (in terms of problem description) version of the node-covering class of problems, has been the subject of literally hundreds of scientific reports and papers. Our main aim here is not so much to review such theoretical work as it is to provide some insights into the ways these problems can be solved, exactly or approximately. In the process we illustrate, as well, both the applicability and the limitations of the techniques that are being described.
6.4.1 Edge Covering: The Chinese Postman's Problem
Consider the case of a mailman who is responsible for the delivery of mail in the city area shown in graph form on Figure 6.12. The mailman must always begin his delivery route at node A where the post office.is located; must traverse every single street in his area; and, eventually, must return to node A (while using only the street grid shown). The lengths of the edges of the graph (where each edge represents a street segment between street intersections indicated as nodes) are given on Figure 6.12. The graph is undirected. The most natural question to ask in this case is: How should the mailman's route be designed to minimize the total distance he walks, while at the same time traversing every street segment at least once10 This type of edge-covering problem is known as the Chinese postman's problem We shall discuss the problem only for undirected graphs and we use Problem 6.6 to extend our results to directed graphs.
The Chinese postman's problem (CPP) has an interesting history. It was examined in detail for the first time by the great Swiss mathematician and physicist Leonhard Euler in the eighteenth century. Euler tried to find a way in which a parade procession could cross all seven bridges shown in Figure 6.13 exactly once. These seven bridges were at the Russian city of Konigsberg (now Kaliningrad) on the river Pregel. Euler proved in 1736 that no solution to the Konigsberg routing problem exists. He also derived some general results that provide the motivation for the solution approaches to the CPP that have been devised recently. At this time, efficient (i.e., polynomial time) algorithms exist for solving the CPP on undirected graphs and on directed graphs. Interestingly, a solution approach to the CPP on directed graphs (which, incidentally differs in important respects from the corresponding approach in the case of undirected graphs) was developed in the course of a project aimed at designing routes for street-sweeping vehicles in New York City [BELT 74]. After several researchers had spent a good amount of time trying to...