CHAPTER 7: TRANSPORTATION, ASSIGNMENT AND TRANSSHIPMENT PROBLEMS NETWORK FLOW MODEL Consists of nodes representing a set of origins and a set of destinations. An arc is used to represent the route from each origins to each destinations. Each origin has a supply and each destination has a demand. Objective: To determine the optimal amount to ship from each origin to each destination Network flow problems Transportation Problem Assignment Problem Transshipment Problem TRANSPORTATION PROBLEM Transportation Problem Problems of distributing goods and services from several supply location to several demand locations Supply locations are called as Origin Demand locations are called as Destination Quantity of goods at origin are limited Quantity of goods at destinations are known TRANSPORTATION PROBLEM Transportation Problem Each origin and destinations are represented by Circles called as nodes Each origin and destinations are connected by arc Each node requires one constraint Each arc requires one variable The sum of variables corresponding to arcs from an origin node must be less than or equal to origin supply. (Rule 3) The sum of variables corresponding to arcs into an destination node must equal to destination ‘s demand (Rule 4) TRANSPORTATION 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. TRANSPORTATION PROBLEM Network Representation s1 s2 1 c11 c13 c21 2 c23 SOURCES 1 d1 2 d2 3 d3 c12 c22 DESTINATIONS TRANSPORTATION PROBLEM LP Formulation The LP formulation in terms of the amounts shipped from the origins to the destinations, xij , can be written as: Min cijxij ij s.t. xij < si j xij = dj i xij > 0 for each origin i for each destination j for all i and j TRANSPORTATION PROBLEM Distribution of goods from three plants to four distributions Supply Origin Plant Three Months Production Capacity (units) 1 Cleveland 5000 2 Bedford 6000 3 York 2500,Total=13,500 Demands Destination Distribution Centre Three-Months Demand Forecast (Units) 1 Boston 6000 2 Chicago 4000 3 St. Louis 2000 4 Lexington 1500,Total=13,500 TRANSPORTATION PROBLEM Objectives To determine the routes to be used and quantity to be shipped from each origin to demand route that will provide minimum total transportation cost. Construct a network graph Connect each origin with the destination with arcs representing the routes between origin and the destinations. 12 Possible Routes TRANSPORTATION NETWORK Boston 3 2 Cleveland 7 2 Chicago 7 5 Bedford 5 S.Louis 6 Supplies 2 4 Demands York 5 Transportation Cost per unit 3 Lexington FORMULATING THE PROBLEM X ijnumber of units shipped from origin I to destination j X11 number of units shipped from origin (Cleveland) to destination 1 (boston) X12 number of units shipped from origin (Cleveland) to destination 2 (Chicago) Cost per unit Origin Boston Chicago St.Louis Lexington Cleveland 3 2 7 6 Bedford 7 5 2 3 York 2 5 4 5 Objective Function=sum of cost from each source to destinations Transportation cost shipped from Cleveland 3x11+2x12+7x13+6x14 Transportation cost shipped from Bedford 7x21+5x22+2x23+3x24 Transportation cost shipped from York 2x31+5x32+4x33+5x34 How many total variables and constraint?? What are supply and demand constraints??? SUPPLY CONSTRAINT (RULE 3) Transportation shipped from Cleveland X11+x12+x13+x14<= 5000 Transportation shipped from Bedford X21+x22+x23+x24<=6000 Transportation shipped from York X31+x32+x33+x34<=2500 DEMAND CONSTRAINT (RULE 4) Transportation To boston X11+x21+x31= 6000 Transportation to Chicago X12+x22+x32=4000 Transportation to St.Louis X13+x23+x33=2500 Transportation to Lexington X14+x24+x34=1500 Objective function???? MODEL FORMALATION Objective function Min 3x11+2x12+7x13+6x14+7x21+5x22+2x23+3x24+2x31+5x32+4x33+5x34 S.T X11+x12+x13+x14 X11 X12 X13 <= 5000 X21+x22+x23+x24 <=6000 X31+x32+x33+x34<=2500 +x21 +x31 = 6000 +x22 +x32 =4000 +x23 +x33 =2500 X14 +x24 +x34 =1500 SOLUTION Variable Value Reduced Cost X11 3500.00 0.0 X12 1500.00 0.0 X13 0.0 8.0 X14 0.0 6.0 X21 2500.00 1.0 X22 2000.00 0.0 X23 1500.00 0.0 X24 2500.00 0.0 X31 0.00 0.0 X32 0.00 4.0 X33 0.00 6.0 X34 0.00 6.0 Minimum total transportation cost? Units shipped=3500;cost per unit=3 Total cost from Cleveland to Boston?? GENERAL LINEAR PROGRAMMING MODEL OF TRANSPORTATION PROBLEM m Min i 1 n c j 1 ij xij s.t n x j 1 m ij x ij si , i 1,2,3.....m sup ply dj , j 1,2,3....n Demand i 1 xij 0 Xij=number of units shipped from origin I to destination j Cij = cost per unit shipping from origin I to destination j Si= supply or capacity in units at origin I Dj= demand in units at destinations j GENERALIZED ASSIGNMENT PROBLEM m n i 1 i 1 Min cij x ij s.t. n x j 1 ij m x j 1 ij 1, i 1,2,3,.....m Agents 1; i ,2,3,........n Tasks xij 0 •Assigning jobs to machine •Agents to tasks •Sales personnel to sales territory •One to one assignment, i.e. one agent is assigned to one and only one task ASSIGNMENT PROBLEM An assignment problem seeks to minimize the total cost assignment of m workers to m jobs, given that the cost of worker i performing job j is cij. It assumes all workers are assigned and each job is performed. An assignment problem is a special case of a transportation problem in which all supplies and all demands are equal to 1; hence assignment problems may be solved as linear programs. ASSIGNMENT PROBLEM Network Representation c 11 1 AGENTS c13 c21 2 1 c12 TASKS c22 2 c23 c31 3 c33 c32 3 ASSIGNMENT PROBLEM LP Formulation Min cijxij ij s.t. xij = 1 for each agent i xij = 1 for each task j xij = 0 or 1 for all i and j j i Note: A modification to the right-hand side of the first constraint set can be made if a worker is permitted to work more than 1 job. Assignment Problem LP Formulation Special Cases •Number of agents exceeds the number of tasks: xij < 1 j for each agent i •Number of tasks exceeds the number of agents: Add enough dummy agents to equalize the number of agents and the number of tasks. The objective function coefficients for these new variable would be zero. AGENT TASK PROBLEM Estimated project completion Time Project Leader Client 1 Client 2 Client 3 Terry 10 15 9 Carle 9 18 5 Jack 6 14 3 ASSIGNMENT PROBLEM NETWORK 10 Client 1 Terry 9 15 Carle Client 2 7 18 5 6 6 14 Supplies Demands Jack Client 3 3 Number of Constraints=6;Number of variables=9 Completion Time in Days PROBLEM FORMULATION Days requires for Terry’s assignment Days required for Carle ‘s assignment 9x21+18x22+5x23 Days required for Jack ‘s assignment 10x11+15x12+9x13 6x31+14x32+3x33 Objective Function Min 10x11+15x12+9x13 +10x11+15x12+9x13+ 6x31+14x32+3x33 CONSTRAINT Each project leader can be assigned to at most one client. X11+x12+x13 <=1 ;Terry ‘s assignment X21+x21+x23<=1; Carle ‘s assignment X31+X21 +x31<=1 ;Jack assignment Each Client must have at least one leader X11+X21+X31=1; Client 1 X12+X22+X32=1; Client 2 X13+X23+X33=1 ; Client 3 SOLUTION Variable Value Reduced Cost X11 0.00 0.00 X12 1.00 0.00 X13 0.00 3.00 X21 0.00 0.00 X22 0.00 4.00 X23 1.00 0.00 X31 1.00 0.00 X32 0.00 3.0 X33 0.00 1.00 Terry is assigned to client2;x12=1 Carle is assigned to client3;x23=1 Jack is assigned to client 1 x31=1 Total completion time required is 26 days Example: Hungry Owner A contractor pays his subcontractors a fixed fee plus mileage for work performed. On a given day the contractor is faced with three electrical jobs associated with various projects. Given below are the distances between the subcontractors and the projects. Projects Subcontractor A B C Westside 50 36 16 Federated 28 30 18 Goliath 35 32 20 Universal 25 25 14 How should the contractors be assigned to minimize total costs? Example: Hungry Owner Network Representation West. Subcontractors 50 36 16 28 Fed. 18 35 Gol. Univ. 20 25 14 A Projects 30 B 32 C 25 Example: Hungry Owner Linear Programming Formulation Min s.t. 50x11+36x12+16x13+28x21+30x22+18x23 +35x31+32x32+20x33+25x41+25x42+14x43 x11+x12+x13 < 1 x21+x22+x23 < 1 Agents x31+x32+x33 < 1 x41+x42+x43 < 1 x11+x21+x31+x41 = 1 x12+x22+x32+x42 = 1 Tasks x13+x23+x33+x43 = 1 xij = 0 or 1 for all i and j HUNGARIAN METHOD Step 1: For each row, subtract the minimum number in that row from all numbers in that row. Step 2: For each column, subtract the minimum number in that column from all numbers in that column. Step 3: Draw the minimum number of lines to cover all zeroes. If this number = m, STOP -- an assignment can be made. Step 4: Subtract d (the minimum uncovered number) from uncovered numbers. Add d to numbers covered by two lines. Numbers covered by one line remain the same. Then, GO TO STEP 3. HUNGARIAN METHOD Finding the Minimum Number of Lines and Determining the Optimal Solution Step 1: Find a row or column with only one unlined zero and circle it. (If all rows/columns have two or more unlined zeroes choose an arbitrary zero.) Step 2: If the circle is in a row with one zero, draw a line through its column. If the circle is in a column with one zero, draw a line through its row. One approach, when all rows and columns have two or more zeroes, is to draw a line through one with the most zeroes, breaking ties arbitrarily. Step 3: Repeat step 2 until all circles are lined. If this minimum number of lines equals m, the circles provide the optimal assignment. EXAMPLE: HUNGRY OWNER Initial Tableau Setup Since the Hungarian algorithm requires that there be the same number of rows as columns, add a Dummy column so that the first tableau is: Westside Federated Goliath Universal A 50 28 35 25 B C Dummy 36 16 0 30 18 0 32 20 0 25 14 0 EXAMPLE: HUNGRY OWNER Step 1: Subtract minimum number in each row from all numbers in that row. Since each row has a zero, we would simply generate the same matrix above. Step 2: Subtract the minimum number in each column from all numbers in the column. For A it is 25, for B it is 25, for C it is 14, for Dummy it is 0. This yields: Westside Federated Goliath Universal A B C Dummy 25 11 2 0 3 5 4 0 10 7 6 0 0 0 0 0 EXAMPLE: HUNGRY OWNER Step 3: Draw the minimum number of lines to cover all zeroes. Although one can "eyeball" this minimum, use the following algorithm. If a "remaining" row has only one zero, draw a line through the column. If a remaining column has only one zero in it, draw a line through the row. A Westside 25 Federated 3 Goliath 10 Universal 0 B C Dummy 11 2 0 5 4 0 7 6 0 0 0 0 EXAMPLE: HUNGRY OWNER Step 3: Draw the minimum number of lines to cover all zeroes. Westside Federated Goliath Universal A 23 1 8 0 B C Dummy 9 0 0 3 2 0 5 4 0 0 0 2 EXAMPLE: HUNGRY OWNER Step 4: The minimum uncovered number is 1. Subtract 1 from uncovered numbers. Add 1 to numbers covered by two lines. This gives: A B C Dummy Westside 23 9 0 1 Federated 0 2 1 0 Goliath 7 4 3 0 Universal 0 0 0 3 EXAMPLE: HUNGRY OWNER Step 3: The minimum number of lines to cover all 0's is four. Thus, there is a minimum-cost assignment of 0's with this tableau. The optimal assignment is: Subcontractor Project Distance Westside C 16 Federated A 28 Goliath (unassigned) Universal B 25 Total Distance = 69 miles TRANSSHIPMENT PROBLEM Transshipment problems are transportation problems in which a shipment may move through intermediate nodes (transshipment nodes)before reaching a particular destination node. Transshipment problems can be converted to larger transportation problems and solved by a special transportation program. Transshipment problems can also be solved by general purpose linear programming codes. The network representation for a transshipment problem with two sources, three intermediate nodes, and two destinations is shown on the next slide. TRANSSHIPMENT PROBLEM Network Representation3 c13 s1 1 c36 c37 c14 6 d1 c46 c15 Supply Demand c47 4 c23 s2 2 c56 c24 c25 SOURCES 5 7 d2 c57 INTERMEDIATE NODES DESTINATIONS TRANSHIPMENT PROBLEM Contains three types of nodes: origin ,transhipment node and destination nodes For origin nodes sum of shipments out minus The sum of shipment in must be less than or equal to origin supply. For destination nodes sum of shipments out minus The sum of shipment in must be equal to demand For transhipment nodes the sum of shipments out must equal to sum of shipments in. ASSIGNMENT PROBLEM NETWORK 600 400 Supplies 1 Denver 2 Atlanta 10 3 Kansas 4 Louis ville 5 Detroit 6 Miami 150 7 Dallas 350 Distribution Routes Number of Constraints=8;Number of variables=12 200 Demands 8 New Orlean s 300 CONSTRAINTS Origin Nodes ?? X13+X14 <=600 (Denver) X23+x24 <=400 (Atlanta) For transhipment Nodes x35+x36+x37+x38=x13+ x23 (Node 3;units in=units out) X45+X46+X47+X48=X14+X24(Node 4;units in= units out) For Destination nodes X35+x45=200 X36+x46=150 X37+x47=350 X38+x48=300 TRASPORTION COST PER UNIT Ware House Plant Kansas city (3) Lousville (4) Denver (1) 2 3 Atlanta (2) 3 1 Retail Outlet Warehouse Detroit (5) Miami (6) Dallas (7) New Orleans (8) Kansas City 2 6 3 6 Louisville 4 4 6 5 Obj function 2x13+3x14+3x23+x24+2x35+6x36+3x37+6x38+4x45+4x46+6x47+5x48+4x28+x78 SOLUTION Variable Value Reduced Costs X13 550.00 0.00 X14 50.00 0.00 X23 0.00 3.00 X24 400.00 0.00 X35 200.00 0.00 X36 0.00 1.00 X37 350.00 0.00 X38 0.00 0.00 X45 0.00 3.00 X46 150.00 0.00 X47 0.00 4.00 X48 300.00 0.00 Value of objective function? EXAMPLE: TRANSSHIPPING Thomas Industries and Washburn Corporation supply three firms (Zrox, Hewes, Rockwright) with customized shelving for its offices. They both order shelving from the same two manufacturers, Arnold Manufacturers and Supershelf, Inc. Currently weekly demands by the users are 50 for Zrox, 60 for Hewes, and 40 for Rockwright. Both Arnold and Supershelf can supply at most 75 units to its customers. Additional data is shown on the next slide. Example: Transshipping Because of long standing contracts based on past orders, unit costs from the manufacturers to the suppliers are: Thomas Washburn Arnold 5 8 Supershelf 7 4 The costs to install the shelving at the various locations are: Zrox Thomas 1 Washburn 3 Hewes Rockwright 5 8 4 4 EXAMPLE: TRANSSHIPPING Network Representation 75 ARNOLD Arnold 5 50 Hewes HEWES 60 RockWright 40 5 Thomas 8 3 7 Super Zrox 1 8 75 Shelf 4 ZROX WashWASH BURN Burn 4 4 EXAMPLE: TRANSSHIPPING Linear Programming Formulation Decision Variables Defined xij = amount shipped from manufacturer i to supplier j xjk = amount shipped from supplier j to customer k where i = 1 (Arnold), 2 (Supershelf) j = 3 (Thomas), 4 (Washburn) k = 5 (Zrox), 6 (Hewes), 7 (Rockwright) Objective Function Defined Minimize Overall Shipping Costs: Min 5x13 + 8x14 + 7x23 + 4x24 + 1x35 + 5x36 + 8x37 + 3x45 + 4x46 + 4x47 EXAMPLE: TRANSSHIPPING Constraints Defined Amount Out of Arnold: Amount Out of Supershelf: Amount Through Thomas: = 0 Amount Through Washburn: = 0 Amount Into Zrox: Amount Into Hewes: Amount Into Rockwright: x13 + x14 < 75 x23 + x24 < 75 x13 + x23 - x35 - x36 - x37 x14 + x24 - x45 - x46 - x47 x35 + x45 = 50 x36 + x46 = 60 x37 + x47 = 40 Non-negativity of Variables: xij > 0, for all i and j. Example: Transshipping Optimal Solution (from The Management Scientist ) Objective Function Value = 1150.000 Variable Value Reduced Costs X13 X14 X23 X24 X35 X36 X37 X45 X46 X47 75.000 0.000 0.000 75.000 50.000 25.000 0.000 0.000 35.000 40.000 0.000 2.000 4.000 0.000 0.000 0.000 3.000 3.000 0.000 0.000 Example: Transshipping Optimal Solution ZROX 75 ARNOLD Arnold 5 Hewes HEWES 60 RockWright 40 5 Thomas 8 3 4 7 Super 50 1 75 8 75 Shelf 4 Zrox WashWASH BURN Burn 4