Presentation on theme: "Chapter 2B Linear Programming: Transportation Problem J. Loucks, St. Edward's University (Austin, TX, USA)"— Presentation transcript:
1Chapter 2BLinear Programming: Transportation Problem J. Loucks, St. Edward's University (Austin, TX, USA)
2Transportation Problem A network model is one which can be represented by a set of nodes, a set of arcs, and functions (e.g. costs, supplies, demands, etc.) associated with the arcs and/or nodes.Transportation problem (TP), as well as many other problems, are all examples of network problems.Efficient solution algorithms exist to solve network problems.
3Transportation Problem TP can be formulated as linear programs and solved by general purpose linear programming codes.For the TP, if the right-hand side of the linear programming formulations are all integers, the optimal solution will be in terms of integer values for the decision variables.However, there are many computer packages, which contain separate computer codes for the TP which take advantage of its network structure.
4Transportation Problem The TP problem has the following characteristics:m sources and n destinationsnumber of variables is m x nnumber of constraints is m + n (constraints are for source capacity and destination demand)costs appear only in objective function (objective is to minimize total cost of shipping)coefficients of decision variables in the constraints are either 0 or 1
5Transportation Problem The transportation problem seeks to minimize the total shipping costs of transporting goods from m origins (each with a supply si) to n destinations (each with a demand dj), when the unit shipping cost from an origin, i, to a destination, j, is cij.The network representation for a transportation problem with two sources and three destinations is given on the next slide.
6Transportation Problem Network Representation1d1c111s1c12c132d2c21c222s2c233d3SOURCESDESTINATIONS
7The Relationship of TP to LP TP is a special case of LPHow do we formulate TP as an LP?Let xij = quantity of product shipped from source i to destination jLet cij = per unit shipping cost from source i to destination jLet si be the row i total supplyLet dj be the column j total demandThe LP formulation of the TP problem is:
8The Relationship of TP to LP LP FormulationThe linear programming formulation in terms of the amounts shipped from the origins to the destinations, xij, can be written as:Min SScijxiji js.t. Sxij < si for each origin ijSxij > dj for each destination jixij > 0 for all i and j
9Transportation Problem LP Formulation Special CasesThe following special-case modifications to the linear programming formulation can be made:Minimum shipping guarantees from i to j:xij > LijMaximum route capacity from i to j:xij < LijUnacceptable routes:delete the variable (or put a very high cost, called the Big-M method, on a selected pair of i and j)
10Transportation Problem To solve the transportation problem by its special purpose algorithm, it is required that the sum of the supplies at the origins equal the sum of the demands at the destinations. If the total supply is greater than the total demand, a dummy destination is added with demand equal to the excess supply, and shipping costs from all origins are zero. Similarly, if total supply is less than total demand, a dummy origin is added.When solving a transportation problem by its special purpose algorithm, unacceptable shipping routes are given a cost of +M (a large number).
11Transportation Problem The transportation problem is solved in two phases:Phase I — Obtaining an initial feasible solutionPhase II — Moving toward optimalityIn Phase I, the Minimum-Cost Procedure can be used to establish an initial basic feasible solution without doing numerous iterations of the simplex method.In Phase II, the Stepping Stone Method, using the MODI method for evaluating the reduced costs may be used to move from the initial feasible solution to the optimal one.
12Transportation Algorithm Phase I - Minimum-Cost Method (simple and intuitive)Step 1: Select the cell with the least cost. Assign to this cell the minimum of its remaining row supply or remaining column demand.Step 2: Decrease the row and column availabilities by this amount and remove from consideration all other cells in the row or column with zero availability/demand. (If both are simultaneously reduced to 0, assign an allocation of 0 to any other unoccupied cell in the row or column before deleting both.) GO TO STEP 1.
13Transportation Algorithm Phase II - Stepping Stone MethodStep 1: For each unoccupied cell, calculate the reduced cost by the MODI method described below. Select the unoccupied cell with the most negative reduced cost. (For maximization problems select the unoccupied cell with the largest reduced cost.) If none, STOP.Step 2: For this unoccupied cell generate a stepping stone path by forming a closed loop with this cell and occupied cells by drawing connecting alternating horizontal and vertical lines between them.Determine the minimum allocation where a subtraction is to be made along this path.
14Transportation Algorithm Phase II - Stepping Stone Method (continued)Step 3: Add this allocation to all cells where additions are to be made, and subtract this allocation to all cells where subtractions are to be made along the stepping stone path. (Note: An occupied cell on the stepping stone path now becomes 0 (unoccupied).If more than one cell becomes 0, make only one unoccupied; make the others occupied with 0's.) GO TO STEP 1.
15Transportation Algorithm MODI Method (for obtaining reduced costs)Associate a number, ui, with each row and vj with each column.Step 1: Set u1 = 0.Step 2: Calculate the remaining ui's and vj's by solving the relationship cij = ui + vj for occupied cells.Step 3: For unoccupied cells (i,j), the reduced cost = cij - ui - vj.
16Example 1: TPA transportation tableau is given below. Each cell represents a shipping route (which is an arc on the network and a decision variable in the LP formulation), and the unit shipping costs are given in an upper right hand box in the cell.Supply3050352040Demand104525S1S2D3D2D115
17Example 1: TPBuilding Brick Company (BBC) has orders for 80 tons of bricks at three suburban locations as follows: Northwood — 25 tons, Westwood — 45 tons, and Eastwood — 10 tons. BBC has two plants, each of which can produce 50 tons per week.How should end of week shipments be made to fill the above orders given the following delivery cost per ton:Northwood Westwood EastwoodPlantPlant
18Example 1: TP Initial Transportation Tableau Since total supply = 100 and total demand = 80, a dummy destination is created with demand of 20 and 0 unit costs.424030DemandSupply5020104525DummyPlant 1Plant 2EastwoodWestwoodNorthwood24
19Example 1: TP Least Cost Starting Procedure Iteration 1: Tie for least cost (0), arbitrarily select x14. Allocate 20. Reduce s1 by 20 to 30 and delete the Dummy column.Iteration 2: Of the remaining cells the least cost is 24 for x11. Allocate 25. Reduce s1 by 25 to 5 and eliminate the Northwood column.Iteration 3: Of the remaining cells the least cost is 30 for x12. Allocate 5. Reduce the Westwood column to 40 and eliminate the Plant 1 row.Iteration 4: Since there is only one row with two cells left, make the final allocations of 40 and 10 to x22 and x23, respectively.
20Example 1: TP Iteration 1 MODI Method 1. Set u1 = 0 2. Since u1 + vj = c1j for occupied cells in row 1, thenv1 = 24, v2 = 30, v4 = 0.3. Since ui + v2 = ci2 for occupied cells in column 2, then u = 40, hence u2 = 10.4. Since u2 + vj = c2j for occupied cells in row 2, then10 + v3 = 42, hence v3 = 32.
21Example 1: TP Iteration 1 MODI Method (continued) Calculate the reduced costs (circled numbers on the next slide) by cij - ui + vj.Unoccupied Cell Reduced Cost(1,3) = 8(2,1) = -4(2,4) = -10
23Example 1: TP Iteration 1 Stepping Stone Method The stepping stone path for cell (2,4) is (2,4), (1,4), (1,2), (2,2). The allocations in the subtraction cells are 20 and 40, respectively. The minimum is 20, and hence reallocate 20 along this path. Thus for the next tableau:x24 = = 20 (0 is its current allocation)x14 = = 0 (blank for the next tableau)x12 = = 25x22 = = 20The other occupied cells remain the same.
24Example 1: TP Iteration 2 MODI Method The reduced costs are found by calculating the ui's and vj's for this tableau.1. Set u1 = 0.2. Since u1 + vj = cij for occupied cells in row 1, thenv1 = 24, v2 = 30.3. Since ui + v2 = ci2 for occupied cells in column 2, then u = 40, or u2 = 10.4. Since u2 + vj = c2j for occupied cells in row 2, then10 + v3 = 42 or v3 = 32; and, 10 + v4 = 0 or v4 = -10.
25Example 1: TP Iteration 2 MODI Method (continued) Calculate the reduced costs (circled numbers on the next slide) by cij - ui + vj.Unoccupied Cell Reduced Cost(1,3) = 8(1,4) (-10) = 10(2,1) = -4
27Example 1: TP Iteration 2 Stepping Stone Method The most negative reduced cost is = -4 determined by x21. The stepping stone path for this cell is (2,1),(1,1),(1,2),(2,2). The allocations in the subtraction cells are 25 and 20 respectively. Thus the new solution is obtained by reallocating 20 on the stepping stone path. Thus for the next tableau:x21 = = 20 (0 is its current allocation)x11 = = 5x12 = = 45x22 = = 0 (blank for the next tableau)The other occupied cells remain the same.
28Example 1: TP Iteration 3 MODI Method The reduced costs are found by calculating the ui's and vj's for this tableau.1. Set u1 = 02. Since u1 + vj = c1j for occupied cells in row 1, thenv1 = 24 and v2 = 30.3. Since ui + v1 = ci1 for occupied cells in column 2, then u = 30 or u2 = 6.4. Since u2 + vj = c2j for occupied cells in row 2, then6 + v3 = 42 or v3 = 36, and 6 + v4 = 0 or v4 = -6.
29Example 1: TP Iteration 3 MODI Method (continued) Calculate the reduced costs (circled numbers on the next slide) by cij - ui + vj.Unoccupied Cell Reduced Cost(1,3) = 4(1,4) (-6) = 6(2,2) = 4
30Example 1: TP Iteration 3 Tableau Since all the reduced costs are non-negative, this is the optimal tableau.54520+4+610424030vjui6-63624DummyPlant 1Plant 2EastwoodWestwoodNorthwood
35Example 2: TP What is the initial solution? Since we want to minimize the cost, it is reasonable to “be greedy” and start at the cheapest cell ($3/unit) while shipping as much as possible. This method of getting the initial feasible solution is called the least-cost ruleAny ties are broken arbitrarily. (Des Moines to Cleveland - $3) (Evansville to Cleveland - $3) Let’s start ad cell 1-3 (Des Moines to Cleveland)In making the flow assignments make sure not to exceed the capacities and demands on the margins!
40Example 2: TPThe initial feasible solution via the least-cost rule is:Ship 100 units from Des Moines to ClevelandShip 100 units from Evansville to ClevelandShip 200 units from Evansville to BostonShip 300 units from Fort Lauderdale to AlbuquerqueThe total cost of this solution is:100(3) + 100(3) + 200(4) + 300(9) = $4,100Is the current solution optimal?Perhaps, but we are not sure. Hence, some more work is needed.
41Example 2: TPThe cells that have a number in them are referred to as basic cells (or basic variables)In general, all basic variables are strictly positiveWhen at least one basic variable is equal to zero, the corresponding solution is called degenerateWhen a solution is degenerate, exercise caution in using sensitivity reports
42Example 2: TPHow many basic variables (cells) should there be in the transportation tableau?Answer: (R+C-1), where R = number of rows and C = number of columns. Here, (R+C-1) = = 5What are they (there are 4 of them)?Ship 100 units from Des Moines to ClevelandShip 100 units from Evansville to ClevelandShip 200 units from Evansville to BostonShip 300 units from Fort Lauderdale to Albuquerque
43Example 2: TP Is this solution degenerate? Answer: Yes, because (R+C-1) = = 5 > 4Hence, we can arbitrarily make (5-4) = 1 variable which is at level zero basic.Let us make Des Moines to Albuquerque a basic variable at level zeroHow do we determine if the current solution is optimal?Let us price currently nonbasic variables (cells), which are all at level zero using the stepping stone algorithm
52Example 1: TPThe objective function improvement potentials for the nonbasic variables are:Evansville – Albuquerque: 3 > 0Des Moines - Boston: 0 = 0Fort Lauderdale - Boston: -1 < 0Fort Lauderdale - Cleveland: -2 < 0The largest improvement (here: reduction in cost) in the objective function can be achieved by increasing shipments from Fort Lauderdale to ClevelandWhat i2 the limit on the increase?
54Example 2: TPIf we increase shipments from Fort Lauderdale to Cleveland by K, we must reduce shipments in the basic cells in the same row and column so that the totals on the margins remain the sameClearly, because negative quantities cannot be shipped, we must impose that:K >= 0 (no problem)300 – K >= 0 (K <= 300)0 + K >= 0 (no problem)100 – K >=0 (K <=100)Hence, let K = 100The new basis becomes:
56Example 2: TPObserve that the number of basic variables (cells) is equal to (R+C-1) = 5. Hence, the current basic solution is feasible and not degenerateAlso observe that Des Moines – Cleveland left the basis while Fort Lauderdale – Cleveland entered the basis (one for one interchange)Is the current solution optimal?Let us price the non-basic variables (cells):
65Example 2: TPThe objective function improvement potentials for the nonbasic variables are:Evansville - Albuquerque: 1 > 0Des Moines - Boston: 2 > 0Fort Lauderdale - Boston: 1 > 0Des Moines - Cleveland: 2 > 0Since all improvement potentials are positive, it is not possible to achieve further improvement (here: reduction in cost) in the objective functionHence, the current solution is optimal
66Example 2: TP The final optimal (and not degenerate) solution is: Ship 100 units from Des Moines to AlbuquerqueShip 200 units from Fort Lauderdale to AlbuquerqueShip 200 units from Evansville to BostonShip 100 units from Evansville to ClevelandShip 100 units from Fort Lauderdale to ClevelandThe total cost of this solution is:100(5) + 200(9) + 200(4) + 100(3) + 100(5)= $3,900
67Example 2: TP via LP In our example the LP formulation is: Min z = 5 x11 + 4x12 + 3x x21 + 4x22 + 3x x31 + 7x32 + 5x33s.t.x11 + x12 + x13 <= 100 (row 1)x21 + x22 + x23 <= 300 (row 2)x31 + x32 + x33 <= 300 (row 3)x11 + x21 + x31 >= 300 (column 1)x12 + x22 + x32 >= 200 (column 2)x31 + x32 + x33 >= 200 (column 3)xij >= 0 for i = 1, 2, 3 and j = 1, 2, 3 (nonnegativity)
68Example 2: TP via LPThe solver formulation and solution is:
69Example 2: TP via LPThe solver answer report is:
70Example 2: TP via LPThe solver sensitivity report is:
71Example 2: TP via LPThe solver limits report is:
72Example 3: Tropicsun (TP via LP) Tropicsun is a grower of oranges with locations in the cities of Mt. Dora, Eustis and Clermont. Tropicsun currently has 275,000 bushels of citrus at the grove in Mt. Dora; 400,000 bushels in Eustis; and 300,000 bushels in Clermont. The citrus processing plants are located in Ocala (capacity of 200,000 bushels), Orlando (600,000 bushels) and Leesburg (225,000 bushels). Tropicsun contracts with a trucking company to transport its fruit, which charges a flat rate for every mile that each bushel of fruit must be transported. Observe that the problem is not balanced, since the total of the fruit supplies (275, , ,000 = 975,000) is not equal to the total of the capacities (200, , ,000 = 1,025,000). The difference of 50,000 bushels will be assigned to a dummy source, which represents unutilized capacity. The distances (in miles) between the groves and processing plants are as follows:
73Example 3: Tropicsun (TP via LP) Distances (in miles) between groves and plantsGrove Ocala Orlando LeesburgMt. DoraEustisClermont
74Example 3: TP via LP : Tropicsun ProcessingGrovesPlantsDistances (in miles)SupplyCapacity21Mt. DoraOcala200,000275,00015044035Eustis30Orlando400,000600,000252255Clermont20Leesburg300,000225,0003625
75Example 3: Defining the Decision Variables Xij = # of bushels shipped from node i to node jSpecifically, the nine decision variables are:X14 = # of bushels shipped from Mt. Dora (node 1) to Ocala (node 4)X15 = # of bushels shipped from Mt. Dora (node 1) to Orlando (node 5)X16 = # of bushels shipped from Mt. Dora (node 1) to Leesburg (node 6)X24 = # of bushels shipped from Eustis (node 2) to Ocala (node 4)X25 = # of bushels shipped from Eustis (node 2) to Orlando (node 5)X26 = # of bushels shipped from Eustis (node 2) to Leesburg (node 6)X34 = # of bushels shipped from Clermont (node 3) to Ocala (node 4)X35 = # of bushels shipped from Clermont (node 3) to Orlando (node 5)X36 = # of bushels shipped from Clermont (node 3) to Leesburg (node 6)
76Example 3: Defining the Objective Function Minimize the total number of bushel-miles.MIN: 21X X X16 +35X X X26 +55X X X36