Transportation-1 Operations Research Modeling Toolset Linear Programming Network Programming PERT/ CPM Dynamic Programming Integer Programming Nonlinear Programming Game Theory Decision Analysis Markov Chains Queueing Theory Inventory Theory Forecasting Markov Decision Processes Simulation Stochastic Programming
Transportation-2 Network Problems Linear programming has a wide variety of applications Network problems –Special types of linear programs –Particular structure involving networks Ultimately, a network problem can be represented as a linear programming model However the resulting A matrix is very sparse, and involves only zeroes and ones This structure of the A matrix led to the development of specialized algorithms to solve network problems
Transportation-3 Types of Network Problems Shortest Path Special case: Project Management with PERT/CPM Minimum Spanning Tree Maximum Flow/Minimum Cut Minimum Cost Flow Special case: Transportation and Assignment Problems Set Covering/Partitioning Traveling Salesperson Facility Location and many more
Transportation-4 The Transportation Problem
Transportation-5 The Transportation Problem The problem of finding the minimum-cost distribution of a given commodity from a group of supply centers (sources) i=1,…,m to a group of receiving centers (destinations) j=1,…,n Each source has a certain supply (s i ) Each destination has a certain demand (d j ) The cost of shipping from a source to a destination is directly proportional to the number of units shipped
Transportation-6 Simple Network Representation 1 2 m 1 2 n SourcesDestinations …… Supply s 1 Supply s 2 Supply s m Demand d 1 Demand d 2 Demand d n x ij Costs c ij
Transportation-7 Example: P&T Co. Produces canned peas at three canneries Bellingham, WA, Eugene, OR, and Albert Lea, MN Ships by truck to four warehouses Sacramento, CA, Salt Lake City, UT, Rapid City, SD, and Albuquerque, NM Estimates of shipping costs, production capacities and demands for the upcoming season is given The management needs to make a plan on the least costly shipments to meet demand
Transportation-8 Example: P&T Co. Map
Transportation-9 Example: P&T Co. Data Warehouse Cannery1234 Supply (Truckloads) 1$ 464$ 513$ 654$ $ 352$ 216$ 690$ $ 995$ 682$ 388$ Demand (Truckloads) Shipping cost per truckload
Transportation-10 Example: P&T Co. Network representation
Transportation-11 Example: P&T Co. Linear programming formulation Let x ij denote… Minimize subject to
Transportation-12 General LP Formulation for Transportation Problems
Transportation-13 Feasible Solutions A transportation problem will have feasible solutions if and only if How to deal with cases when the equation doesn’t hold?
Transportation-14 Integer Solutions Property: Unimodularity Unimodularity relates to the properties of the A matrix (determinants of the submatrices, beyond scope) Transportation problems are unimodular, so we get the integers solutions property: For transportation problems, when every s i and d j have an integer value, every BFS is integer valued. Most network problems also have this property.
Transportation-15 Transportation Simplex Method Since any transportation problem can be formulated as an LP, we can use the simplex method to find an optimal solution Because of the special structure of a transportation LP, the iterations of the simplex method have a very special form The transportation simplex method is nothing but the original simplex method, but it streamlines the iterations given this special form
Transportation-16 Transportation Simplex Method Initialization (Find initial CPF solution) Is the current CPF solution optimal? Move to a better adjacent CPF solution Stop No Yes
Transportation-17 The Transportation Simplex Tableau Destination Supplyuiui Source12…n 1 c 11 c 12 … c 1n s1s1 2 c 21 c 22 … c 2n s2s2 ……………… m c m1 c m2 … c mn smsm Demandd1d1 d2d2 …dndn Z = vjvj
Transportation-18 Prototype Problem Holiday shipments of iPods to distribution centers Production at 3 facilities, –A, supply 200k –B, supply 350k –C, supply 150k Distribute to 4 centers, –N, demand 100k –S, demand 140k –E, demand 300k –W, demand 250k Total demand vs. total supply
Transportation-19 Prototype Problem Destination Supplyuiui SourceNSEW A B C Dummy Demand Z = vjvj
Transportation-20 Finding an Initial BFS The transportation simplex starts with an initial basic feasible solution (as does regular simplex) There are alternative ways to find an initial BFS, most common are –The Northwest corner rule –Vogel’s method –Russell’s method (beyond scope)
Transportation-21 The Northwest Corner Rule Begin by selecting x 11, let x 11 = min{ s 1, d 1 } Thereafter, if x ij was the last basic variable selected, –Select x i(j+1) if source i has any supply left –Otherwise, select x (i+1)j
Transportation-22 The Northwest Corner Rule Destination Supply SourceNSEW A B C Dummy Demand Z = 10770
Transportation-23 Vogel’s Method For each row and column, calculate its difference: = (Second smallest c ij in row/col) - (Smallest c ij in row/col) For the row/col with the largest difference, select entry with minimum c ij as basic Eliminate any row/col with no supply/demand left from further steps Repeat until BFS found
Transportation-24 Vogel’s Method (1): calculate differences Destination Supplydiff SourceNSEW A B C Dummy Demand diff
Transportation-25 Vogel’s Method (2): select x DummyE as basic variable Destination Supplydiff SourceNSEW A B C Dummy Demand diff
Transportation-26 Vogel’s Method (3): update supply, demand and differences Destination Supplydiff SourceNSEW A B C Dummy Demand diff
Transportation-27 Vogel’s Method (4): select x CN as basic variable Destination Supplydiff SourceNSEW A B C Dummy Demand diff
Transportation-28 Vogel’s Method (5): update supply, demand and differences Destination Supplydiff SourceNSEW A B C Dummy Demand diff
Transportation-29 Vogel’s Method (6): select x CW as basic variable Destination Supplydiff SourceNSEW A B C Dummy Demand diff
Transportation-30 Vogel’s Method (7): update supply, demand and differences Destination Supplydiff SourceNSEW A B C Dummy Demand diff
Transportation-31 Vogel’s Method (8): select x AS as basic variable Destination Supplydiff SourceNSEW A B C Dummy Demand diff
Transportation-32 Vogel’s Method (9): update supply, demand and differences Destination Supplydiff SourceNSEW A B C Dummy Demand diff
Transportation-33 Vogel’s Method (10): select x AW as basic variable Destination Supplydiff SourceNSEW A B C Dummy Demand diff
Transportation-34 Vogel’s Method (11): update supply, demand and differences Destination Supplydiff SourceNSEW A B C Dummy Demand diff
Transportation-35 Vogel’s Method (12): select x BW and x BE as basic variables Destination Supplydiff SourceNSEW A B C Dummy Demand--- diff Z = 10330
Transportation-36 Optimality Test In the regular simplex method, we needed to check the row-0 coefficients of each nonbasic variable to check optimality and we have an optimal solution if all are 0 There is an efficient way to find these row-0 coefficients for a given BFS to a transportation problem: –Given the basic variables, calculate values of dual variables u i associated with each source v j associated with each destination using c ij – u i – v j = 0 for x ij basic, or u i + v j = c ij (let u i = 0 for row i with the largest number of basic variables) –Row-0 coefficients can be found from c ’ ij =c ij -u i -v j for x ij nonbasic
Transportation-37 Optimality Test (1) Destination Supplyuiui SourceNSEW A B C Dummy Demand vjvj
Transportation-38 Optimality Test (2) Calculate u i, v j using c ij – u i – v j = 0 for x ij basic (let u i = 0 for row i with the largest number of basic variables) Destination Supplyuiui SourceNSEW A B C Dummy Demand vjvj
Transportation-39 Optimality Test (3) Calculate c ’ ij =c ij -u i -v j for x ij nonbasic Destination Supplyuiui SourceNSEW A B C Dummy Demand vjvj
Transportation-40 Optimal Solution A B C N S W SourcesDestinations Supply = 200 Supply = 350 Supply = 150 Demand = 100 Demand = 140 Demand = 250 E Demand = 300 (shortage of 90) Cost Z = 10330
Transportation-41 An Iteration Find the entering basic variable –Select the variable with the largest negative c ’ ij Find the leaving basic variable –Determine the chain reaction that would result from increasing the value of the entering variable from zero –The leaving variable will be the first variable to reach zero because of this chain reaction
Transportation-42 Destination Supplyuiui SourceNSEW A B C Dummy Demand vjvj Initial Solution Obtained by the Northwest Corner Rule
Transportation-43 Destination Supplyuiui SourceNSEW A B C Dummy Demand vjvj Iteration ?
Transportation-44 End of Iteration 1 Destination Supplyuiui SourceNSEW A B C Dummy Demand vjvj
Transportation-45 Optimality Test Destination Supplyuiui SourceNSEW A B C Dummy Demand vjvj
Transportation-46 Iteration 2 Destination Supplyuiui SourceNSEW A B C Dummy Demand vjvj ?
Transportation-47 End of Iteration 2 Destination Supplyuiui SourceNSEW A B C Dummy Demand vjvj
Transportation-48 Optimality Test Destination Supplyuiui SourceNSEW A B C Dummy Demand vjvj Z = 10330
Transportation-49 Optimal Solution A B C N S W SourcesDestinations Supply = 200 Supply = 350 Supply = 150 E Demand = 100 Demand = 140 Demand = 250 Demand = 300 (shortage of 90) Cost Z = 10330
Transportation-50 The Assignment Problem The problem of finding the minimum-costly assignment of a set of tasks (i=1,…,m) to a set of agents (j=1,…,n) Each task should be performed by one agent Each agent should perform one task A cost c ij associated with each assignment We should have m=n (if not…?) A special type of linear programming problem, and A special type of transportation problem, with s i =d j = ?
Transportation-51 Prototype Problem Assign students to mentors Each assignment has a ‘mismatch’ index Minimize mismatches Mentor Supply StudentSnapeMcGonagallLupin Harry Draco Goyle Demand111
Transportation-52 Prototype Problem Linear programming formulation Let x ij denote… Minimize subject to
Transportation-53 General LP Formulation for Assignment Problems
Transportation-54 Solving the Assignment Problem It is a linear programming problem, so we could use regular simplex method It is a transportation problem, so we could use transportation simplex method However, it has a very special structure, such that it can be solved in polynomial time Many such algorithms exist, but the best known (and one of the oldest) is the Hungarian Method
Transportation-55 The Hungarian Method 1.Subtract row minimums from each element in the row 2.Subtract column minimums from each element in the column 3.Cover the zeroes with as few lines as possible 4.If the number of lines = n, then optimal solution is hidden in zeroes 5.Otherwise, find the minimum cost that is not covered by any lines 1.Subtract it from all uncovered elements 2.Add it to all elements at intersections (covered by two lines) 6.Back to step 3
Transportation-56 The Hungarian Method – Optimal Solution How to identify the optimal solution: Make the assignments one at a time in positions that have zero elements. Begin with rows or columns that have only one zero. Cross out both the row and the column involved after each assignment is made. Move on to the rows and columns that are not yet crossed out to select the next assignment, with preference given to any such row or column that has only one zero that is not crossed out. Continue until every row and every column has exactly one assignment and so has been crossed out.
Transportation-57 Hungarian Method Mentor StudentSnapeMcGLupin Harry 523 Draco 145 Goyle 244 Mentor StudentSnapeMcGLupin Harry Draco Goyle Mentor StudentSnapeMcGLupin Harry Draco Goyle Mentor StudentSnapeMcGLupin Harry Draco Goyle