Transportation Problem A Special Case For Linear Programming Problems PDF
Transportation Problem A Special Case For Linear Programming Problems PDF
key problem managers face is how to allocate scarce resources among various activities or projects. Linear programming, or LP, is a method of allocating resources in an optimal way. It is one of the most widely used operations research tools and has been a decisionmaking aid in almost all manufacturing perations research (OR) is concerned industries and in financial and service with scientifically deciding how to best organizations. design and operate peoplemachine systems, In the term linear programming, usually under conditions requiring the programming refers to mathematical proallocation of scarce resources.1 gramming. In this context, it refers to a This publication, one of a series, is planning process that allocates resources offered to supervisors, lead people, middle labor, materials, machines, capitalin the managers, and anyone who has responsibility best possible (optimal) way so that costs are for operations planning in manufacturing minimized or profits are maximized. In LP, facilities or corporate planning over multiple these resources are known as decision facilities. Practical examples are geared to variables. The criterion for selecting the the wood products industry, although best values of the decision variables (e.g., managers and planners in other industries to maximize profits or minimize costs) is can learn OR techniques through this series. known as the objective function. Limita1 tions on resource availability form what is Operations Research Society of America known as a constraint set. The word linear indicates that the criterion for selecting the best values of the decision variables can be described by a linear function of these variables; that is, a mathematical function involving only the first powers of the variables James E. Reeb, Extension forest products manufacturing with no cross-products. For example, 23X2 and 4X16 are valid specialist; and Scott decision variables, while 23X22, 4X163, and (4X1 * 2X1) are not. Leavengood, Extension forest
OPERATIONS RESEARCH
The entire problem can be expressed in terms of straight lines, planes, or analogous geometrical figures. In addition to the linear requirements, non-negativity restrictions state that variables cannot assume negative values. That is, its not possible to have negative resources. Without that condition, it would be mathematically possible to solve the problem using more resources than are available. In earlier reports (see OSU Extension publications list, page 35), we discussed using LP to find optimal solutions for maximization and minimization problems. We also learned we can use sensitivity analysis to tell us more about our solution than just the final optimal solution. In this publication, we discuss a special case of LP, the transportation problem.
Computer solution
First, lets formulate our problem and set it up as a regular LP problem that we will solve using the LP software LINDO.* The XYZ Sawmill Companys CEO asks to see next months log hauling schedule to his three sawmills. He wants to make sure he keeps a steady, adequate flow of logs to his sawmills to capitalize on the good lumber market. Secondary, but still important to him, is to minimize the cost of transportation. The harvesting group plans to move to three new logging sites. The distance from each site to each sawmill is in Table 1. The average haul cost is $2 per mile for both loaded and empty trucks. The logging supervisor estimated the number of truckloads of logs coming off each harvest site daily. The number of truckloads varies because terrain and cutting patterns are unique for each site. Finally, the sawmill managers have estimated the truckloads of logs their mills need each day. All these estimates are in Table 1.
Table 1.Supply and demand of sawlogs for the XYZ Sawmill Company. Logging site 1 2 3 Mill demand (truckloads/day) Mill A 8 10 30 30 Distance to mill (miles) Mill B Mill C 15 50 17 20 26 15 35 30 Maximum truckloads/day per logging site 20 30 45
The next step is to determine costs to haul from each site to each mill (Table 2).
Table 2.Round-trip transportation costs for XYZ Sawmill Company. Logging site 1 2 3 Mill A $ 32* 40 120 Mill B $ 60 68 104 Mill C $ 200 80 60
We can set the LP problem up as a cost minimization; that is, we want to minimize hauling costs and meet each of the sawmills
*Solver Suite: LINDO, LINGO, WHATS BEST. LINDO Systems Inc., Chicago. 382 pp. This product is mentioned as an illustration only. The Oregon State University Extension Service neither endorses this product nor intends to discriminate against products not mentioned.
OPERATIONS RESEARCH
daily demand while not exceeding the maximum number of truckloads from each site. We can formulate the problem as: Let Xij = Haul costs from Site i to Mill j i = 1, 2, 3 (logging sites) j = 1, 2, 3 (sawmills) Objective function: MIN 32X11 + 40X21 + 120X31 + 60X12 + 68X22 + 104X32 + 200X13 + 80X23 + 60X33 Subject to: X11 + X21 + X31 > 30 X12 + X22 + X32 > 35 X13 + X23 + X33 > 30 X11 + X12 + X13 < 20 X21 + X22 + X23 < 30 X31 + X32 + X33 < 45 Truckloads to Mill A Truckloads to Mill B Truckloads to Mill C Truckloads from Site 1 Truckloads from Site 2 Truckloads from Site 3
X11, X21, X31, X12, X22, X32, X13, X23, X33 > 0 For the computer solution: in the edit box of LINDO, type in the objective function, then Subject to, then list the constraints. Note, the non-negativity constraint does not have to be typed in Objective function: because LINDO knows that all LP MIN 32X11 + 40X21 + 120X31 + 60X12 + 68X22 + problems have this constraint. 104X32 + 200X13 + 80X23 + 60X33 Thats it! The software will Subject to: solve the problem. It will add X11 + X21 + X31 > 30 slack, surplus, and artificial variX12 + X22 + X32 > 35 ables when necessary. (For an X13 + X23 + X33 > 30 explanation of slack, surplus, and X11 + X12 + X13 < 20 artificial variables, see an earlier X21 + X22 + X23 < 30 report in this series or consult X31 + X32 + X33 < 45 another of the references on page 35.) The LINDO (partial) output for the XYZ Sawmill Company transportation problem: LP OPTIMUM FOUND AT STEP 3 OBJECTIVE FUNCTION VALUE 1) 5760.000
VARIABLE X11 X21 X31 X12 X22 X32 X13 X23 X33 ROW 2) 3) 4) 5) 6) 7)
VALUE 20.000000 10.000000 0.000000 0.000000 20.000000 15.000000 0.000000 0.000000 30.000000 SLACK OR SURPLUS 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
REDUCED COST 0.000000 0.000000 44.000000 0.000000 0.000000 0.000000 184.000000 56.000000 0.000000 DUAL PRICES 76.000000 104.000000 60.000000 44.000000 36.000000 0.000000
NO. ITERATIONS = 3
OPERATIONS RESEARCH
cell, Site 2 Mill A, and use Table 5a.XYZ Sawmill Company transportation problem. the same criteria as before. Mill A Mill B Mill C Supply Now the smaller value is 200 32 60 Site 1 20 column Mill A (versus 30 in 20 row Site 2); there are only 68 80 40 Site 2 10 30 10 truckloads demanded 120 104 60 because 20 have been Site 3 45 supplied by Site 1. So, Demand 30 95 35 30 move 10 into this cell. Now we can eliminate column vj Mill A from further consideration. Hint: when doing this with pencil and paper, it is convenient to draw a line across rows and down columns when they are no longer considered. This is especially useful when working on larger problems with more sources and destinations. Move to the next cell, Site 2 Mill B (Table 5b). Move the smaller of the supply or demand values into this cell. Site 2 supply is 20 (remember, we used 10 of the 30 in Site 2 Mill A); Mill B demand is 35, so move 20 into this cell. We can eliminate row Site 2 from further consideration since all its supply (30) is used. Move to cell Site 3 Mill B. The smaller of the margin values is 15. (Mill B demand is 15 because 20 of 35 truckloads have been supplied by Site 2.) Place 15 in this cell and elimiTable 5b.XYZ Sawmill Company transportation problem. nate column Mill B from Mill A Mill B Mill C Supply further consideration since 200 32 60 Site 1 its demand has been met. 20 20 Finally, move to cell Site 3 68 80 40 Site 2 Mill C. Margin values are 10 20 30 tied at 30 (vmillC = 30 and 120 104 60 Site 3 15 45 u site 3 = 30 because we 30 previously allocated 15 of Demand 30 95 35 30 the 45 available to Site 3 vj Mill B), so place 30 in this cell. We check to see whether weve met the requirement that the number of routes equals the number of sites plus the number of mills minus 1. In fact, we have met the requirement (3 + 3 1 = 5) and we have five routes. Our initial basic feasible solution is: 32X11 + 40X21 + 68X22 + 104X32 + 60X33 $32(20) + $40(10) + $68(20) + $104(15) + $60(30) = $5,760
ui
ui
OPERATIONS RESEARCH
However, this may not be our optimal solution. (Actually, we know it is optimal because of our LINDO solution, above.) Lets test to see whether the current tableau represents the optimal solution. We can do this because of duality theory (for a discussion of duality, see Using Duality and Sensitivity Analysis to Interpret Linear Programming Solutions, EM 8744, or another of the references on page 35). We can introduce two quantities, ui and vj, where ui is the dual variable associated with row i and vj is the dual variable associated with column j. From duality theory: Xij = ui + vj (Eq. 1) We can compute all ui and vj values from the initial tableau using Eq. 1. X11 = u1 + v2 = 32 X21 = u2 + v1 = 40 X22 = u2 + v2 = 68 X32 = u3 + v2 = 104 X33 = u3 + v3 = 60 Since there are M + N unknowns and M + N 1 equations, we can arbitrarily assign a value to one of the unknowns. A common method is to choose the row with the largest number of allocations (this is the number of cells where we have designated truckloads of logs). Row Site 2 and row Site 3 both have two allocations. We arbitrarily choose row Site 2 and set u2 = 0. Using substitutions, we calculate: u2 = 0 X21 = u2 + v1 = 40 0 + v1 = 40 v1 = 40 X22 = u2 + v2 = 68 0 + v2 = 68 v2 = 68 X11 = u1 + v1 = 32 u1+ 40 = 32 u1 = 8 X32 = u3 + v2 = 104 u3 + 68 = 104 u3 = 36 X33 = u3 + v3 = 60 36 + v3 = 30 v3 = 6
Table 5c.XYZ Sawmill Company transportation problem. Mill A Site 1 Site 2 Site 3 Demand vj 30 40 32 20 10 40 120 15 35 68 68 20 104 30 30 6 60 45 95 36 80 30 0 Mill B 60 Mill C 200 Supply 20 ui 8
Arrange the ui and vj values around the table margin (Table 5c). Heres how to recognize whether this tableau represents the optimal solution: for every nonbasic variable (those cells without any allocations), Xij ui vj > 0 (Eq. 2). If Eq. 2 is true in every case, then the current
tableau represents the optimal solution; if it is false in any one case, there is a better solution. For cell Site 1 Mill B: 60 (8) 68 > 0 is true. For cell Site 1 Mill C: 200 (8) (6) > 0 is true. For cell Site 2 Mill C: 80 0 (6) > 0 is true. For cell Site 3 Mill A: 120 36 40 > 0 is true. We know this represents the optimal solution and that $5,760 is our lowest cost to ship logs.
ui
OPERATIONS RESEARCH
Move to Site 1 Mill B (Table 6c). Place 15 in this cell. Remember, only 15 truckloads are available from Site 1 since 5 were used by Mill A, which is less than the 20 in Mill B demand margin. All 20 truckloads are used from Site 1, so we can eliminate this row from further consideration.
Table 6c.New XYZ Sawmill Company log transportation problem. Mill A Site 1 Site 2 Site 3 Demand vj 5 90 5 100 100 20 15 140 80 20 100 15 80 10 45 Mill B 100 Mill C 130 Supply 20 ui
Move to Site 2 Mill B (Table 6d). Place 5 (20 15 truckloads supplied by Site 1) in this cell. This eliminates column Mill B from further consideration. Now we evaluate Site 2 Mill C. Place 10 in this cell and eliminate row Site 2 from further consideration (Table 6d). In cell Site 3 Mill C, Table 6d.New XYZ Sawmill Company log transportation problem. place 10 (Table 6d). At this point, all constraints are Mill A Mill B Mill C Supply ui satisfied. 130 90 100 Site 1 20 5 15 Hauling costs are: $90(5) 140 100 100 + $100(15) + $140(5) Site 2 5 15 10 + $100(10) + $80(10) 100 80 80 Site 3 = $4,450 10 10 An analogy to the simDemand 5 45 20 20 plex method may help vj those familiar with that method of solving LP problems to better understand the transportation procedure. Remember that when using simplex to solve LP minimization problems, we seek a neighboring corner (referring to a corner in dimensional space, not a corner in our transportation tables) to evaluate, choosing the one that improves costs the most. We reach this corner through a pivot procedure; that is, certain cells exchange status. A current nonempty cell (in the basis) becomes empty, or nonbasic, and an empty cell (currently not in the basis) becomes basic (or part of the solution). The new nonempty cell is 10
called the entering cell, and the cell it replaces is called the exiting cell (just as in simplex). This will result in a less expensive shipping schedule. As with simplex, we continue this procedure until we reach a point where we can no longer improve; that is, we reach the most attractive corner and therefore the optimal solution. Lets check to see whether the solution of $4,450 is optimal. We can check as we did with the preceding problem. Since there are M + N unknowns and M + N 1 equations, we can arbitrarily assign a value to one of the unknowns and solve for the others. As above, choose the row that has the largest number of allocations (this is the number of cells where we have designated truckloads of logs). Site 1 and Site 2 have two allocations each, whereas Site 3 has only one allocation. We arbitrarily choose row Site 1 and set u1 = 0. Using substitutions, we calculate: u1 + v1 = 90 0 + v1 = 90 v1 = 90 u1 + v2 = 100 0 + v2 = 100 v2 = 100 u2 + v2 = 140 u2 + 100 = 140 u2 = 40 u2 + v3 = 100 40 + v3 = 100 v3 = 60 u3 + v3 = 80 u3 + 60 = 80 u3 = 20 Arrange the ui and vj around the table as shown in Table 6e. Check for the optimal solution using Eq. 2 (Xij ui vj > 0) for each nonbasic cell. Remember, the nonbasic cells are those without an allocation. If the equation is true for each cell, then we have the optimal solution, and our lowest shipping cost is $4,450. For cell Site 1 Mill C: 130 0 60 > 0 is true. For cell Site 2 Mill A: 100 40 90 > 0 is false. The second statement is false, so we know we can find a less costly shipping schedule. In order to continue, we need to determine the values in the remaining nonbasic cells. Table 6e.New XYZ Sawmill Company log transportation problem. We are interested when Mill A Mill B Mill C Supply the equation is false (when 130 90 100 Site 1 the answer is negative). 20 5 15 Place 30 value in cell 140 100 100 Site 2 Site 2 Mill A 10 5 15 (Table 6f, page 12). 100 80 80
Site 3 10 5 90 20 100 20 60 10 45 Demand vj
ui 0 40 20
11
OPERATIONS RESEARCH
For cell Site 3 Mill A: 100 20 90 > 0 is false. Place 10 in cell Site 3 Mill A (Table 6f). For cell Site 3 Mill B: 80 20 100 > 0 is false. Place 40 in cell Site 3 Mill B (Table 6f). We will use whats known as the closed loop Mill A Mill B Mill C Supply ui path for further iterations. 130 90 100 Some rules will help us Site 1 20 5 15 0 determine the closed loop 140 100 100 Site 2 path. One rule is there can 10 40 5 15 be only one increasing and 30 one decreasing cell in any 80 100 80 Site 3 row or column; and, except 10 10 20 40 10 for the entering cell, all Demand 45 20 20 5 changes must involve nonempty (basic) cells. vj 90 100 60 For simplex (minimization problems), we choose the largest negative number as the new entering variable, and we do the same in this case. Site 3 Mill B has the largest negative value; therefore, we can reduce costs the most by allocating truckloads to this cell. We want to increase the value as much as possible, so place a + in cell Site 3 Mill B (Table 6g). Since we want to Table 6g.New XYZ Sawmill Company log transportation problem. increase this as much as Mill A Mill B Mill C Supply ui possible, move to the next 130 90 100 basic cell in the current Site 1 20 5 15 0 solution, Site 2 Mill B. We 140 100 100 need to keep everything in Site 2 10 + 40 5 15 equilibrium, so place in 30 this cell (take 5 truckloads 80 100 80 Site 3 from here and allocate to + 10 10 20 40 10 Site 3 Mill B). Remember, we want to make a closed Demand 45 20 20 5 loop and keep supplies and vj 90 100 60 demands balanced. Next, turn and go to the next basic cell in row Site 2 (Mill C) and place a + in this cell to indicate it must be increased by 5 to maintain equality in this row. Next, go to Site 3 Mill C and place a in this cell. This completes a circuit. We have shifted the solution, and if we have completed the circuit correctly, equalities in our rows and columns have been maintained.
Table 6f.New XYZ Sawmill Company log transportation problem.
12
The following summarizes the changes. Variable Cell in closed loop Before X32 Site 3 Mill B Empty Site 2 Mill B 5 X22 X23 Site 2 Mill C 10 Site 3 Mill C 10 X33
Change +5 5 +5 5
Now 5 Empty 15 5
This procedure must always make a complete circuit, starting and ending with the new entering variable. For any entering cell, the closed loop path is unique. It must step only into basic cells (all nonbasic cells are overstepped and ignored). At each cell where a + or is entered, a junction is made; that is, turning either from vertical to horizontal or from horizontal to vertical. Sometimes this requires stepping over basic as well as nonbasic cells. If we reach a cell from which we cannot turn (because all other cells in its column or row are empty), then we must backtrack to the last turning point and go the other way or move forward to another nonempty cell in the same row or column. Quantities will shift only in cells at the corners of the closed loop path. The amount shifted will equal the smallest quantity in the losing () cells. This is because each affected cell will change by plus or minus this value. If we used something greater than the smallest quantity, we would supply or demand quantities that are not available. We now have the following solution. $90X11 + $100X12 + $100X23 + $80X32 + $80X33 $90(5) + $100(15) + $100(15) + $80(5) + $80(5) = $4,250 We see that we did improve our costs: by $200, from $4,450 to $4,250. This new schedule is illustrated in Table 6h. Calculate new margin values; that is, new ui and Table 6h.New XYZ Sawmill Company log transportation problem. vj values. Look for the Mill A Mill B Mill C Supply ui row with the most alloca130 90 100 Site 1 20 5 15 0 tions. Sites 1 and 3 both have two allocations; row 140 100 100 Site 2 15 0 15 Site 2 has only one. We 100 80 80 arbitrarily choose row Site 3 5 5 10 20 Site 1 and set u1 = 0 Demand 5 45 20 20 (Table 6h). Determine the v other margin values j 90 100 100 through substitution.
13
OPERATIONS RESEARCH
Some problems... that have nothing to do with transporting goods are designed to be solved using the transportation method to ensure an integer answer.
u1 = 0 u1 + v1 = 90 u1 + v2 = 100 u3 + v2 = 80 u3 + v3 = 80 u2 + v3 = 100
v1 = 90 v2 = 100 u3 = 20 v3 = 100 u2 = 0
We can now check to see whether our solution is optimal. Using Eq. 2, Xij ui vj > 0, determine the values for the nonbasic cells (empty cells without any allocations): For cell Site 1 Mill C: 130 0 100 > 0 is true. For cell Site 2 Mill A: 100 0 90 > 0 is true. For cell Site 2 Mill B: 140 0 100 > 0 is true. For cell Site 3 Mill A: 100 (20) 90 > 0 is true. Because all statements are true, we know that $4,250 is the optimal solution and the lowest cost for our shipping schedule.
Integer solutions
When solving LP problems using simplex, an integer (whole number) solution is not guaranteed. We could end up with an optimal solution that makes fractions of things that really dont make much sense as fractions, such as producing 15.66 pickup trucks. But in transportation problems, if all the numbers representing the sources and the destinations are integers, then the answer also will be an integer. Because of this, some problems that have nothing to do with transporting goods are designed to be solved using the transportation method to ensure an integer answer.
Again, we put Table 7a.XYZ Sawmill Companys three harvesting sites and four sawmills. the cost to ship a Mill A Mill B Mill C Mill D Supply ui truckload of logs 3 19 7 21 Site 1 from a site to a 10 10 mill in the upper 21 15 18 6 Site 2 right corner. 30 Looking at supply 22 11 14 15 Site 3 20 and demand, we place the smallest Demand 15 15 10 20 60 value, 10, in the vj northwest corner cell. Row Site 1 now can be eliminated from further consideration. Move down to Site 2 Mill A and again assign the smallest value. This is 5 (from the demand margin, because 10 have been assigned already), and we place that value in cell Site 2 Mill A (Table 7b). Column Mill A can now be eliminated from further consideration. Move to Site 2 Mill B and place the smallest of the margin values, 10, in that cell (Table 7b). Table 7b.XYZ Sawmill Companys three harvesting sites and four sawmills. Mill B column can Mill A Mill B Mill C Mill D Supply ui now be eliminated 3 19 7 21 from further Site 1 10 10 consideration. 21 15 18 6 Site 2 Continuing to 5 15 10 30 work in Table 7b, 22 11 14 15 Site 3 move to Site 2 15 5 20 Mill C cell and Demand 15 15 10 20 60 assign the smallest vj margin value to this cell. In this case, we will assign only 15 of the 20 to keep the equality of the row supply. Move to Site 3 Mill C and assign the remaining 5 from the demand margin to this cell. Finally, move to the Site 3 Mill D cell and assign 15 from the demand margin to this cell. If we have assigned all our values correctly, then all row and column equalities will have been preserved. In other words, all constraints will have been satisfied. Our initial feasible solution is: Daily shipping costs = $19(10) + $15(5) + $21(10) + $18(15) + $15(5) + $22(15) = $1,150
15
OPERATIONS RESEARCH
We check to see whether this is an optimal solution. Start by calculating ui and vj values. Row Site 2 has the most allocations, so assign u2 a value of zero and solve for the remainder of the margin values: u2 = 0 u2 + v1 = 15 0 + v1 = 15 v1 = 15 u1 + v1 = 19 u1 + 15 = 19 u1 = 4 u2 + v2 = 21 0 + v2 = 21 v2 = 21 u2 + v3 = 18 0 + v3 = 18 v3 = 18 u3 + v3 = 15 u3 + 18 = 15 u3 = 3 u3 + v4 = 22 3 + v4 = 22 v4 = 25 Place the margin values into Table 7c. Use Eq. 2 to determine whether this is the optimal solution. For Cell Site 1 Mill B: 7 4 21 > 0 is false. Therefore, we know this is not the optimal solution. Place 18 in Site 1 Mill B (Table 7c). For Cell Site 1 Mill C: 3 4 18 > 0 is false. Place 19 in Site 1 Mill C (Table 7c). For Cell Site 1 Mill D: 21 4 25 > 0 is false. Place 8 in Site 1 Mill D (Table 7c). For Cell Site 2 Mill D: 6 0 25 > 0 is false. Place 19 in Site 2 Mill D (Table 7c). For Cell Site 3 Mill A: 11 (3) 15 > 0 is false. Place 1 in Site 3 Mill A (Table 7c). For Cell Site 3 Mill B: 14 (3) 21 > 0 is false. Place 4 in Site 3 Mill B (Table 7c). Remember, just as for the simplex LP method, we choose the largest negative number as the new entering variable. Site 1 Mill C and Site 2 Mill D tie for the largest negative value. We can reduce costs the most by allocating truckloads to one of these cells.
Table 7c.XYZ Sawmill Companys three harvesting sites and four sawmills. Mill A Mill B Mill C Mill D Supply Site 1 19 10 18 Site 2 5 Site 3 1 Demand vj 15 15 11 4 10 21 20 18 15 25 60 15 10 14 5 21 15 19 15 15 22 20 19 18 8 6 30 7 3 21 10
ui 4
16
As with most LP Table 7d.XYZ Sawmill Companys three harvesting sites and four sawmills. ties, we can Mill A Mill B Mill C Mill D Supply choose either one. 3 19 7 21 Site 1 We arbitrarily 10 + 10 18 8 19 choose Site 1 Mill 21 18 6 C. We want to 15 Site 2 15 10 30 5+ increase the value 19 as much as pos14 15 11 22 Site 3 sible, so put a + 20 5 15 in Site 1 Mill C 4 1 (Table 7d). To Demand 15 15 10 20 60 keep the supply vj 21 18 25 15 equality for Site 1, place a in Site 1 Mill A. Continue along the closed loop circuit, making sure not to violate supply and demand equalities. Place a + in Site 2 Mill A and, finally, a in Site 2 Mill C (Table 7d). Now we can change the trucking schedule. Remember that changes occur only at the corners. Summarizing the changes: Cell in closed loop Site 1 Mill C Site 1 Mill A Site 2 Mill A Site 2 Mill C Before Empty 10 5 15 Change +10 10 +10 10 Now 10 Empty 15 5
ui 4
Table 7e shows the trucking schedule change. Site 1 Mill A becomes empty and therefore is the exiting cell. Next, we calculate our new trucking costs: $3(10) + $15(15) + $21(10) + $18(5) + $15(5) + $22(15) = $960. We improved our shipping costs Table 7e.XYZ Sawmill Companys three harvesting sites and four sawmills. by $190, from Mill A Mill B Mill C Mill D Supply $1,150 to $960. 3 19 7 21 Site 1 But, is this the 10 10 optimal solution? 21 15 18 6 Site 2 We can check by 5 15 10 30 calculating the ui 22 11 14 15 Site 3 and vj values and 15 5 20 then using Eq. 2. Demand 15 15
10 20 60 vj
ui
17
OPERATIONS RESEARCH
Site 2 row has the most allocations, so set u2 = 0 and solve for the other values: u2 = 0 0 + v1 = 15 v1 = 15 u2 + v1 = 15 u2 + v2 = 21 0 + v2 = 21 v2 = 21 u2 + v3 = 18 0 + v3 = 18 v3 = 18 u1 + v3 = 3 u1 + 18 = 3 u1 = 15 u3 + v3 = 15 u3 + 18 = 15 u3 = 3 u3 + v4 = 22 3 + v4 = 22 v4 = 25
Table 7f.XYZ Sawmill Companys three harvesting sites and four sawmills. Mill A Mill B Mill C Mill D Supply Site 1 Site 2
Site 3
Demand vj
Place these values in Table 7f and use ui Eq. 2 to check for 3 19 7 21 an optimal solu10 10 15 tion. For Eq. 2, use 21 18 6 15 10 + 30 15 5 0 the nonbasic cells 19 (those with no 11 14 15 22 allocation). If all 20 5+ 15 3 statements are true, 1 4 we have the opti10 20 15 60 15 mal solution; that 21 18 25 15 is, the lowest cost trucking schedule. For cell Site 1 Mill A: 19 (15) 15 > 0 is true. For cell Site 1 Mill B: 7 (15) 21 > 0 is true. For cell Site 1 Mill D: 21 (15) 25 > 0 is true. For cell Site 2 Mill D: 6 0 25 > 0 is false. We know this is not the optimal solution. Place 19 in Site 2 Mill D (Table 7f). For cell Site 3 Mill A: 11 (3) 15 > 0 is false. Place 1 in Site 3 Mill A (Table 7f). For cell Site 3 Mill B: 14 (3) 21 > 0 is false. Place 4 in Site 3 Mill B (Table 7f). Continuing to work with Table 7f, we see that Site 2 Mill D is our new entering variable (that with the largest negative value and therefore the one that can reduce costs the most). Place a + in this cell. Complete the closed loop by placing a in Site 2 Mill C, a + in Site 3 Mill C, and a in Site 3 Mill D.
18
Summarizing the changes: Cell in closed loop Site 2 Mill D Site 2 Mill C Site 3 Mill C Site 3 Mill D Before Empty 5 5 15 Change +5 5 +5 5 Now 5 Empty 10 10
The new schedule Table 7g.XYZ Sawmill Companys three harvesting sites and four sawmills. is in Table 7g. The Mill A Mill B Mill C Mill D Supply new solution is: 3 19 7 21 Site 1 $3(10) + $15(15) 10 10 18 + $21(10) + $6(5) + $15(10) + 21 18 6 15 Site 2 10 5+ 30 15 $22(10) = $865. 1 We improved our 14 15 11 22 Site 3 shipping costs by 20 + 10 10 $95, from $960 to 23 20 $865. Check to Demand 15 15 10 20 60 see whether this is vj 21 1 6 15 the optimal solution. Row Site 2 has the most allocations, so set u2 = 0. Solve for the other values and place into Table 7g. u2 = 0 u2 + v1 = 15 0 + v1 = 15 v1 = 15 u2 + v2 = 21 0 + v2 = 21 v2 = 21 u2 + v4 = 6 0 + v4 = 6 v4 = 6 u3 + v4 = 22 u3 + 6 = 22 u3 = 16 u3 + v3 = 15 16 + v3 = 15 v3 = 1 u1 + v3 = 3 u1 + (1) = 3 u1 = 4 Use Eq. 2 to check whether this is the optimal solution: For cell Site 1 Mill A: 19 4 15 > 0 is true. For cell Site 1 Mill B: 7 4 21 > 0 is false. Place 18 in Site 1 Mill B (Table 7g). For cell Site 1 Mill D: 21 4 6 > 0 is true. For cell Site 2 Mill C: 18 0 (1) > 0 is true. For cell Site 3 Mill A: 11 16 15 > 0 is false. Place 20 in Site 3 Mill A (Table 7g). For cell Site 3 Mill B: 14 16 21 > 0 is false. Place 23 in Site 3 Mill B (Table 7g).
ui 4
16
19
OPERATIONS RESEARCH
Choose the largest negative value (this will reduce costs the most) as the new entering variable. Place a + in Site 3 Mill B. Move to Site 2 Mill B, place a in it, then place a + in Site 2 Mill D (we have to jump over the nonbasic cell), and then close the loop by placing a in Site 3 Mill D (we ignore Site 2 Mill C and Site 3 Mill C). Summarizing the changes in the trucking schedule: Cell in closed loop Before Change Now Site 3 Mill B Empty +10 10 Site 2 Mill B 10 10 Empty Site 2 Mill D 5 +10 15 Site 3 Mill D 10 10 Empty Remember that the empty cell becomes the exiting cell. For this iteration, though, we have a tie. Both Site 2 Mill B and Site 3 Mill D cells have become empty. Both cells lose all their allocation and are reduced to zero. However, now we have two routes fewer than the number of rows and columns. When there are fewer than S + D 1 routes, sometimes it is not possible to form closed loops, and we cannot solve for a unique set of row and column margin numbers (ui and vj). Too few routes also can lead to degeneracy. To avoid degeneracy, we need to treat one of the exiting cells as a nonempty or basic cell. Again, because ties almost always can be arbitrarily broken in LP problems, we can choose either one as the exiting cell and treat the other as a basic cell. We will choose Site 2 Mill B as the exiting cell and place a zero in Site 3 Mill D cell. Our new shipping schedule is reflected in Table 7h. Our new shipping cost is: $3(10) + $15(15) + $6(15) + $14(10) + $15(10) + $22(0) = $635. Our cost Table 7h.XYZ Sawmill Companys three harvesting sites and four sawmills. has been reduced Mill A Mill B Mill C Mill D Supply ui from $865 to $635 3 19 7 21 for an improvement Site 1 12 10 10 of $230.
Site 2 Site 3 Demand vj 15 17 15 15 11 10 10 14 14 10 20 15 15 0 15 22 21 18 15 6 30 22 20 60 0 16
20
Site 3 row has three allocations, so we can set u3 = 0 and solve for the other margin values (Table 7h): u3 = 0 0 + v2 = 14 v2 = 14 u3 + v2 = 14 u3 + v3 = 15 0 + v3 = 15 v3 = 15 u3 + v4 = 22 0 + v4 = 22 v4 = 22 u2 + v4 = 6 u2 + 22 = 6 u2 = 16 u2 + v1 = 15 16 + v1 = 15 v1 = 17 u1 + v3 = 3 u1 + 15 = 3 u1 = 12 Use Eq. 2 to check to see whether this is the optimal solution. For cell Site 1 Mill A: 19 (12) 17 > 0 is true. For cell Site 1 Mill B: 7 (12) 14 > 0 is true. For cell Site 1 Mill D: 21 (12) 22 > 0 is true. For cell Site 2 Mill B: 21 (16) 14 > 0 is true. For cell Site 2 Mill C: 18 (16) 15 > 0 is true. For cell Site 3 Mill A: 11 0 17 > 0 is false. Place 6 in Site 3 Mill A (Table 7i). The new enterTable 7i.XYZ Sawmill Companys three harvesting sites and four sawmills. ing cell is Site 3 Mill A Mill B Mill C Mill D Supply Mill A, and we 3 19 7 21 Site 1 place a + in this 10 10 cell. Increasing the 21 Site 2 15 18 6 15 + 15 30 allocation to this 22 cell will save $6 11 14 15 Site 3 + 10 0 10 20 per truckload. To 6 finish the closed Demand 15 15 loop, place a 10 20 60 v in Site 2 Mill A, a j + in Site 2 Mill D, and a in Site 3 Mill D (Table 7i). We have a problem because one of the cells to be reducedthat is, one with a minus sign in itis the zero cell, Site 3 Mill D. When this occurs, we can shift the zero to a cell that is to be increased rather than reduced. As long as we keep the zero in the same row or column, we do not change the shipping schedule or violate a constraint. We know we want to increase the allocation to Site 3 Mill A cell. Shifting the zero to the Site 3 Mill A cell gives us the new shipping schedule in Table 7j (page 22).
ui
21
OPERATIONS RESEARCH
Table 7j.XYZ Sawmill Companys three harvesting sites and four sawmills.
The cost for this schedule is exactly Mill A Mill B Mill C Mill D Supply ui the same, but we no 3 19 7 21 longer need to 10 10 worry about reduc21 15 18 6 + ing a cell that is 15 15 30 22 already zero. Make 11 14 15 0+ 10 10 20 the changes by moving 10 from 15 15 10 20 60 Site 3 Mill C to Site 2 Mill C and moving 10 from Site 2 Mill A to Site 3 Mill A. Summarizing the changes: Cell in closed loop Before Change Now Site 3 Mill C 10 10 Empty Site 2 Mill C Empty +10 10 Site 2 Mill A 15 10 5 Site 3 Mill A 0 +10 10 Note that the solution is no Mill B Mill C Mill D Supply ui longer degenerate 3 7 21 (more than one 10 10 15 exiting cell). The 21 18 6 new shipping 30 10 15 0 schedule is in 22 14 15 10 Table 7k. 20 4 The new shipping 15 10 20 60 schedule is: $3(10) 18 18 6 + $15(5) + $18(10) + $6(15) + $11(10) + $14(10) = $625. We reduced our shipping costs from $635 to $625 for a savings of $10. But, is this the optimal solution? Calculate our margin values by setting u2 = 0 and solving for the other values: u2 = 0 u2 + v1 = 15 0 + v1 = 15 v1 = 15 u2 + v3 = 18 0 + v3 = 18 v3 = 18 u2 + v4 = 6 0 + v4 = 6 v4 = 6 u3 + v1 = 11 u3 + 15 = 11 u3 = 4 u3 + v2 = 14 4 + v2 = 14 v2 = 18 u1 + v3 = 3 u1 + 18 = 3 u1 = 15
Table 7k.XYZ Sawmill Companys three harvesting sites and four sawmills. Mill A Site 1 Site 2 Site 3 Demand vj 5 10 15 15 19 15 11
22
Use Eq. 2 to see whether this is the optimal solution. For cell Site 1 Mill A: 19 (15) 15 > 0 is true. For cell Site 1 Mill B: 7 (15) 18 > 0 is true. For cell Site 1 Mill D: 21 (15) 6 > 0 is true. For cell Site 2 Mill B: 21 0 18 > 0 is true. For cell Site 3 Mill C: 15 (4) 18 > 0 is true. For cell Site 3 Mill D: 22 (4) 6 > 0 is true. All statements are true, so we cannot improve the solution further. Our optimal shipping cost for this schedule is $625.
Drill 20 27 31 22 23 24
23
OPERATIONS RESEARCH
The average time to complete a task takes the place of unit shipping costs in the transportation examples above. Instead of reducing transportation costs, we are reducing the time to process a piece of wood into a finished component. We can set up our first table, Table 9a.
Table 9a.Job-shop assignment problem for ACME Furniture Company. Surfacer Worker 1 Worker 2 Worker 3 Worker 4 Worker 5 Worker 6 # of Workers 13 18 20 14 21 17 1
Margin values are Available the numLathe Sander 1 Router Sander 2 Drill workers ber of 22 19 21 16 20 1 workers 17 24 18 22 27 1 available 22 23 24 17 31 1 and the 19 13 30 23 22 1 number of 14 17 25 15 23 1 workers 23 18 20 16 24 1 required 1 1 1 1 1 6 to run a machine, one in each case. The number of workers available equals the number of workers required: six. This meets the criterion we established for the transportation examples, where supply had to at least equal demand. The objective is to minimize the total amount of time (labor) it takes to process a finished wood component. What about the cell values? They are the average time a worker spends at a machine center, represented as: Xij = amount of time worker i (i = 1 6) is assigned to machine center j (j = 1 6), as shown in Table 9b. Let Cij = average time to complete a task in row i and column j.
24
*Available workers **Row differences between lowest Cijs ***Column differences between lowest Cijs
First, use Vogels Approximation to find a starting cell. Find the difference between the two lowest costs (shortest times) in each row and column. (In this case, time to complete a task is treated the same as shipping costs.) For row 1, the two shortest times are for Surfacer, 13 seconds, and Sander 2, 16 seconds. The difference (16 13) is 3. For column 1, the two shortest times are for Worker 1, 13 seconds, and Worker 4, 14 seconds. The difference (14 13) is 1. Find the difference for the two shortest times for all other rows and columns and place in Table 9b (shown in italics, as RD and CD).
25
OPERATIONS RESEARCH
Look for the largest value: 4, in column 3. Make the maximum assignment (in this case, 1) to the cheapest (shortest time) cell in column 3; that is, put a 1 in cell X43 (Table 9c). We can cross out row 4 (Worker 4) and column 3 (Sander) since weve met the requirements for that row and that column. New differences are calculated using the cells that remain (Table 9d). The greatest difference, 4, is in
Table 9c.Job-shop assignment problem for ACME Furniture Company.
Surfacer Worker 1 Worker 2 Worker 3 Worker 4 Worker 5 Worker 6 # of Workers CD*** 1 1 3 13 18 20 14 21 17 1 4 Lathe 22 17 22 19 1 14 23 1 2 17 18 1 1 25 20 1 2 15 16 1 23 24 1 1 1 1 6 Sander 1 19 24 23 13 Router 21 18 24 30 Sander 2 16 22 17 23 Drill 20 27 31 22 AW* 1 3 1 1 1 3 1 1 RD**
*Available workers **Row differences between lowest Cijs ***Column differences between lowest Cijs
26
column 1. The cheapest unshaded cell in column 1 is X11. We assign the maximum allowed allocation, 1, to this cell (Table 9e). Since neither row 1 nor column 1 can receive more allocations, cross them out (Table 9e). Calculate new differences for remaining unshaded rows and columns (Table 9f). The greatest difference is 5 from row 3. The cheapest unshaded cell is X35 with a value of 17. Assign the maximum allocation, 1, to this cell and cross out row 3 and column 5 (Table 9g).
Table 9e.Job-shop assignment problem for ACME Furniture Company.
Surfacer Worker 1 Worker 2 Worker 3 Worker 4 Worker 5 Worker 6 # of Workers CD*** 1 1 13 1 18 20 14 21 17 1 3 17 22 19 1 14 23 1 4 17 18 1 2 25 20 1 1 15 16 1 1 23 24 1 1 1 2 6 24 23 13 18 24 30 22 17 23 27 31 22 1 1 1 5 1 6 Lathe 22 Sander 1 19 Router 21 Sander 2 16 Drill 20 AW* 1 3 RD**
27
OPERATIONS RESEARCH
Calculate new differences of unshaded cells for rows and columns. Find the greatest difference and allocate the maximum, 1, to the cheapest cell (Table 9h). The greatest difference is 9 in row 5, and the cheapest unshaded cell is X52 with a value of 14. Continuing to work with Table 9h, allocate the maximum of 1 to this cell and cross out row 5 and column 2. Calculate differences for rows and columns. The greatest difference is 9 for row 2. The cheapest unshaded cell is X24 with a value of 18. Assign 1 to this cell and block out row 2 and column 4 (Table 9i). There is only one unshaded cell remaining. We can assign 1 to cell X66 (Table 9i).
28
*Available workers **Row differences between lowest Cijs ***Column differences between lowest Cijs
29
OPERATIONS RESEARCH
*Available workers **Row differences between lowest Cijs ***Column differences between lowest Cijs
Table 9j shows the assignment schedule using Vogels Approximation. Unlike the northwest corner method, Vogels Approximation does not always result in the required number of nonempty cells. Remember that in order to use the transportation method to solve LP problems, the number of routes (or, in this case, assignments) must equal the number of sources or sites (in this case, workers) plus the number of destinations (in this case, jobs) minus one; that is, Assignments = Workers + Jobs 1; that is, Assignments = 6 + 6 1. We can see that for our problem, we have six nonempty cells but need eleven. We need to assign zeroes to five empty cells. Using the transportation method, find the marginal row and column values. In the preceding transportation problems, we assigned a row value of zero to the row that had the most shipping routes (analogous to our job assignments). Since all rows have the same allocation of 1, we will arbitrarily assign a margin value of zero to row 1 (Table 9k).
30
We are able to calculate v1 = 13, 0 + 13 = 13. To continue, we need another nonempty cell (Table 9k). We check for the cheapest (least time) nonempty cell and place a zero in it. This would be cell X41, with a value of 14 seconds (Table 9k). We can now calculate u4 as 1. Next we see that we can calculate v3 as 1 + 12 = 13. Again, we have reached a point where no further calculations can be made. Look at column 2 and place a zero in the cheapest empty cell, X22. Calculate the margin value for row 2: 8 + 9 = 17. Next, calculate the margin value for column 4 as 8 + 10 = 18. Calculate the margin value for row 6 as 10 + 10 = 20. Next, calculate the margin value for column 6 as 10 + 14 = 24. Again, we have reached an impasse. We need to find margin values for row 3 and column 5. If we place a zero in cell X36 we will be able to find our two remaining margin values. Calculate the margin value for row 3 as 17 + 14 = 31, and the margin value for column 5 as 17 + 0 = 17 (Table 9k). Now, we have the required Assignments = Workers + Jobs 1.
31
OPERATIONS RESEARCH
Use the margin values to determine the empty cell differences and place these in the left bottom corner of each empty cell (Table 9l). For example, cell X12, 0 + 9 + value = 22. Therefore the value = 13. Fill in the remainder of the empty cell differences (Table 9l).
Table 9lJob-shop assignment problem for ACME Furniture Company.
Surfacer Worker 1 13 1 13 Worker 2 3 Worker 3 10 Worker 4 14 0 21 1 3 Worker 6 6 # of Workers vj 1 13 17 4 1 9 23 4 1 12 1 10 18 0 6 1 0 1 14 6 9 14 0 10 20 10 16 1 4 24 1 10 17 20 4 19 1 19 25 22 15 7 23 1 5 22 6 13 18 0 4 23 3 30 23 22 1 1 24 1 17 7 24 1 14 17 0 5 31 1 17 11 18 16 22 6 27 1 8 Lathe 22 Sander 1 19 Router 21 Sander 2 16 Drill 20 AW* 1 0 ui
Worker 5
*Available workers
The most negative cell, X31 with a value of 10, is the new entering cell. Use the closed-loop path to determine the exiting cell (Table 9m). Lines with arrows highlight the closed-loop path. Note that all the losing cells contain zeroes. Therefore, the maximum quantity to be reallocated along the path is zero, and one of the losing cells will go blank in the next solution. Break the tie by choosing the most expensive losing cell, X31, and move the zero from cell X36 to cell X31. Since the value is zero, however, the total time savings is 10 x 0 = 0. We will leave it up to you to go through the next few iterations. They involve only moving zeroes; therefore, this assignment is optimal and leads to the fastest processing time.
32
The processing time is calculated as: Worker 1 Worker 2 Worker 3 Worker 4 Worker 5 Worker 6 Surfacer Router Sander 2 Sander 1 Lathe Drill 13 sec 18 sec 17 sec 13 sec 14 sec 24 sec 99 sec
There is an alternative optimal solution to this assignment problem, but we leave it to you to discover.
Table 9m.Job-shop assignment problem for ACME Furniture Company.
Surfacer Worker 1 13 1 13
Lathe 22
Sander 1 19 7
Router 21 11
Sander 2 16 16 6 22 14 5 17 1
Drill 20
AW* 1
ui 0
Worker 2 3 Worker 3 10
18 0
17 4
24
18
27
1 8
1+ 24 31 0 23 22 25 15 10 20 0 6 16 4
20 + 4 14 9
22 6 19
23 3 13 1+ 19
1 17
Worker 4
30
22 7 23
1 1 1 5
21 1+ 17 4 1 9
14
17 0 10
23 4 1 12
18
24 1+
1 10 6
1 10
1 0
1 14
33
OPERATIONS RESEARCH
Conclusion
Transportation problems can be solved using the simplex method; however, the simplex method involves time-consuming computations. And, it is easy to make a mistake when working the problems by hand. An advantage to the transportation method is that the solution process involves only the main variables; artificial variables are not required, as they are in the simplex process. In fact, after applying the northwest corner rule, the problem is as far along as it would be using simplex after eliminating the artificial variables. Simplex requires a minimum of iterations (each represented by another simplex tableau) equal to the number of rows plus columns minus 1. This is the minimum; many problems require more iterations. Calculations are much easier to obtain with a new transportation table than a new simplex tableau. After practice, a relatively large transportation problem can be solved by hand. This is not true when solving large LP problems using the simplex method. Finally, some LP computer programs are set up to solve both simplex and transportation problems. When the problems are introduced as transportation problems, the computer algorithms can solve them much faster. Although developed to solve problems in transporting goods from one location to another, the transportation method can be used to solve other problemssuch as the assignment example aboveas long as the problem can be set up in the transportation problem form. To learn more about transportation problems, check out the references below.
References
Bierman, H., C. P. Bonini, and W. H. Hausman. 1977. Quantitative Analysis for Business Decisions. Homewood, IL: Richard D. Irwin, Inc. 642 pp. Dykstra, D. P. 1984. Mathematical Programming for Natural Resource Management. New York: McGraw-Hill, Inc. 318 pp. Hillier, F. S. and G. J. Lieberman. 1995. Introduction to Operations Research, 6th ed. New York: McGraw-Hill, Inc. 998 pp.
34
Ignizio, J. P., J. N. D. Gupta, and G. R. McNichols. 1975. Operations Research in Decision Making. New York: Crane, Russak & Company, Inc. 343 pp. Institute for Operations Research and the Management Sciences, 901 Elkridge Landing Road, Suite 400, Linthicum, MD. http://www.informs.org/ Lapin, L. L. 1985. Quantitative Methods for Business Decisions with Cases, 3rd ed. San Diego: Harcourt Brace Jovanovich. 780 pp. Ravindran, A., D. T. Phillips, and J. J. Solberg. 1987. Operations Research: Principles and Practice, 2nd ed. New York: John Wiley & Sons. 637 pp. Reeb, J. and S. Leavengood. 1998. Using the Graphical Method to Solve Linear Programs, EM 8719. Corvallis: Oregon State University Extension Service. 24 pp. $2.50 Reeb, J. and S. Leavengood. 1998. Using the Simplex Method to Solve Linear Programming Maximization Problems, EM 8720. Corvallis: Oregon State University Extension Service. 28 pp. $3.00 Reeb, J. and S. Leavengood. 2000. Using Duality and Sensitivity Analysis to Interpret Linear Programming Solutions, EM 8744. Corvallis: Oregon State University Extension Service. 24 pp. $2.50 Solver Suite: LINDO, LINGO, WHATS BEST. Chicago: LINDO Systems Inc. 382 pp.
Ordering information
To order additional copies of this publication, send the complete title and series number, along with a check or money order for $3.50 payable to OSU, to: Publication Orders Extension & Station Communications Oregon State University 422 Kerr Administration Corvallis, OR 97331-2119 Fax: 541-737-0817 We offer a 25-percent discount on orders of 100 or more copies of a single title. You can view our Publications and Videos catalog and many Extension publications on the Web at http://eesc.oregonstate.edu 35
OPERATIONS RESEARCH
2002 Oregon State University This publication was produced and distributed in furtherance of the Acts of Congress of May 8 and June 30, 1914. Extension work is a cooperative program of Oregon State University, the U.S. Department of Agriculture, and Oregon counties. Oregon State University Extension Service offers educational programs, activities, and materialswithout discrimination based on race, color, religion, sex, sexual orientation, national origin, age, marital status, disability, or disabled veteran or Vietnam-era veteran status. Oregon State University Extension Service is an Equal Opportunity Employer. Published June 2002.
36