Consider the following snow removal problem: there are a number of districts in a city. After a snowfall, the snow in each area must be moved out of the district into a convenient location. In Montreal (from where this example is taken), these locations are large grates (leading to the sewer system), a couple large pits, and a couple entry points to the river. Each of these destinations has a capacity. The goal is to minimize the distance traveled to handle all of the snow.
This problem is an example of a transportation problem. In such a problem, there are a set of nodes called sources, and a set of nodes called destinations. All arcs go from a source to a destination. There is a per-unit cost on each arc. Each source has a supply of material, and each destination has a demand. We assume that the total supply equals the total demand (possibly adding a fake source or destination as needed). For the snow removal problem, the network might look like that in figure 1.4.
Figure 1.4: Snow Transportation Network
Transportation problems are often used in, surprise, transportation planning. For instance, in an application where goods are at a warehouse, one problem might be to assign customers to a warehouse so as to meet their demands. In such a case, the warehouses are the sources, the customers are the destinations, and the costs represent the per-unit transportation costs.
Here is another example of this:
One of the main products of P&T Company is canned peas. The peas are prepared at three canneries (near Bellingham, Washington; Eugene, Oregon; and Albert Lea, Minnesota) and are then shipped by truck to four distributing warehouses in Sacremento, California; Salt Lake City, Utah; Rapid City, South Dakota; and Albuquerque, New Mexico. Because shipping costs are a major expense, management has begun a study to reduce them. For the upcoming season, an estimate has been made of what the output will be from each cannery, and how much each warehouse will require to satisfy its customers. The shipping costs from each cannery to each warehouse has also been determined. This is summarized in the next table.
You should find it an easy exercise to model this as a linear program. If we let be the number of truckloads shipped from cannery i to warehouse j, the problem is to
This is an example of the transportation model. As has been pointed out, this problem has a lot of nice structure. All the coefficients are 1 and every variable appears in exactly two constraints. It is this structure that lets the simplex algorithm be specialized into an extremely efficient algorithm.
What defines a transportation model? In general, the transportation model is concerned with distributing (literally or figuratively) a commodity from a group of supply centers, called sources to a group of receiving centers, called destinations to minimize total cost.
In general, source i has a supply of units, and destination j has a demand for units. The cost of distributing items from a source to a destination is proportional to the number of units. This data can be conveniently represented in a table like that for the sample problem.
We will generally assume that the total supply equals the total demand. If this is not true for a particular problem, dummy sources or destinations can be added to make it true. The text refers to such a problem as a balanced transportation problem. These dummy centers may have zero distribution costs, or costs may be assigned to represent unmet supply or demand.
For example, suppose that cannery 3 makes only 75 truckloads. The total supply is now 25 units too little. A dummy supply node can be added with supply 25 to balance the problem, and the cost from the dummy to each warehouse can be added to represent the cost of not meeting the warehouse's demand.
The transportation problem has a couple of nice properties:
Feasibility. As long as the supply equals demand, there exists a feasible solution to the problem.
Integrality. If the supplies and demands are integer, every basic solution (including optimal ones) have integer values. Therefore, it is not necessary to resort to integer programming to find integer solutions. Linear programming suffices. Note that this does not mean that each destination will be supplied by exactly one source.
In the pea shipping example, a basic solution might be to ship 20 truckloads from cannery 1 to warehouse 2 and the remaining 55 to warehouse 4, 80 from cannery 2 to warehouse 1 and 45 to warehouse 2 and, finally, 70 truckloads from cannery 3 to warehouse 3 and 30 to warehouse 4. Even though the linear programming formulation of the pea shipping example has seven constraints other than nonnegativity, a basic solution has only six basic variables! This is because the constraints are linearly dependent: the sum of the first three is identical to the sum of the last four. As a consequence, the feasible region defined by the constraints would remain the same if we only kept six of them. In general, a basic solution to the transportation model will have a number of basic variables equal to the number of sources plus the number of destinations minus one.