Slide 1 of 26 Linear Programming: The Linear Programming: The Transshipment Problem Transshipment Problem Chapter 2D Chapter 2D
Nov 22, 2014
Slide 1 of 26 Slide 1 of 26
Linear Programming: The Transshipment Linear Programming: The Transshipment ProblemProblem
Chapter 2DChapter 2D
Slide 2 of 26 Slide 2 of 26
IntroductionIntroduction
Linear Programming (LP) problems can be solved Linear Programming (LP) problems can be solved on the computer using dedicated software such on the computer using dedicated software such as WhatsBest!, solver (Excel add-on) and many as WhatsBest!, solver (Excel add-on) and many others.others.
There are special classes of LP problems such as There are special classes of LP problems such as the Transshipment Problem (a special class of the Transshipment Problem (a special class of TP). TP).
Efficient solutions methods exist to solve the Efficient solutions methods exist to solve the Transshipment Problem.Transshipment Problem.
Slide 3 of 26 Slide 3 of 26
A A network modelnetwork model is one which can be is one which can be represented by a set of nodes, a set of arcs, represented by a set of nodes, a set of arcs, and functions (e.g. costs, supplies, demands, and functions (e.g. costs, supplies, demands, etc.) associated with the arcs and/or nodes.etc.) associated with the arcs and/or nodes.
Transshipment Problem is an example of a Transshipment Problem is an example of a network problem.network problem.
Transshipment ProblemTransshipment Problem
Slide 4 of 26 Slide 4 of 26
Transshipment ProblemTransshipment Problem
Transshipment problemsTransshipment problems are transportation are transportation problems in which a shipment may move through problems in which a shipment may move through intermediate nodes (transshipment nodes) before intermediate nodes (transshipment nodes) before reaching a particular destination node.reaching a particular destination node.
Transshipment problems can be converted to Transshipment problems can be converted to larger transportation problems and solved by a larger transportation problems and solved by a special transportation program.special transportation program.
Transshipment problems can also be solved by Transshipment problems can also be solved by general purpose linear programming codes.general purpose linear programming codes.
The network representation for a transshipment The network representation for a transshipment problem with two sources, three intermediate problem with two sources, three intermediate nodes, and two destinations is shown on the next nodes, and two destinations is shown on the next slide.slide.
Slide 5 of 26 Slide 5 of 26
Transshipment ProblemTransshipment Problem
Network RepresentationNetwork Representation
2222
3333
4444
5555
6666
7777
1111cc1313
cc1414
cc2323 cc2424
cc2525
cc1515
ss11
cc3636
cc3737
cc4646
cc4747
cc5656
cc5757
dd11
dd22
INTERMEDIATEINTERMEDIATE NODESNODES
SOURCESSOURCES DESTINATIONSDESTINATIONS
ss22
Slide 6 of 26 Slide 6 of 26
Transshipment ProblemTransshipment Problem
Linear Programming FormulationLinear Programming Formulation
xxijij represents the shipment from node represents the shipment from node ii to node to node jj
Min Min ccijijxxijij
i ji j
s.t. s.t. xxijij << ssii for each source (origin) for each source (origin) ii j j
xxikik - - xxkjkj = 0 for each intermediate= 0 for each intermediate ii jj node node k k (conservation of flow)(conservation of flow)
xxijij >> ddjj for each destination for each destination jj ii xxijij >> 0 for all 0 for all ii and and j j (nonnegativity)(nonnegativity)
Slide 7 of 26 Slide 7 of 26
Useful Excel/Solver Functions: Useful Excel/Solver Functions: SumproductSumproduct
SUMPRODUCTSUMPRODUCTMultiplies corresponding components in the given arrays, Multiplies corresponding components in the given arrays,
and returns the sum of those products.and returns the sum of those products. Syntax: SUMPRODUCTSyntax: SUMPRODUCT((array1array1,,array2array2,array3, ,array3,
...)...)• Array1, array2, array3, ... are 2 to 30 arrays Array1, array2, array3, ... are 2 to 30 arrays
whose components you want to multiply and whose components you want to multiply and then add. then add.
Slide 8 of 26 Slide 8 of 26
Useful Excel/Solver Functions: Useful Excel/Solver Functions: VLOOKUPVLOOKUP
Searches for a value in the leftmost column of a table, and then Searches for a value in the leftmost column of a table, and then returns a value in the same row from a column you specify in returns a value in the same row from a column you specify in the table. Use VLOOKUP instead of HLOOKUP when your the table. Use VLOOKUP instead of HLOOKUP when your comparison values are located in a column to the left of the comparison values are located in a column to the left of the data you want to find.data you want to find.
Slide 9 of 26 Slide 9 of 26
Useful Excel/Solver Functions: Useful Excel/Solver Functions: VLOOKUPVLOOKUP Syntax: Syntax:
VLOOKUPVLOOKUP((lookup_valuelookup_value,,table_arraytable_array,,col_indecol_index_numx_num,range_lookup),range_lookup)• Lookup_value is the value to be found in the Lookup_value is the value to be found in the
first column of the array.first column of the array.• Table_array is the table of information in Table_array is the table of information in
which data is looked up. which data is looked up. If range_lookup is TRUE, the values in the If range_lookup is TRUE, the values in the
first column of table_array must be placed first column of table_array must be placed in ascending order.in ascending order.
Slide 10 of 26 Slide 10 of 26
Useful Excel/Solver Functions: Useful Excel/Solver Functions: VLOOKUPVLOOKUP Syntax: Syntax:
VLOOKUPVLOOKUP((lookup_valuelookup_value,,table_arraytable_array,,col_indecol_index_numx_num,,range_lookuprange_lookup))• Col_index_num is the column number in table_array Col_index_num is the column number in table_array
from which the matching value must be returned. A from which the matching value must be returned. A col_index_num of 1 returns the value in the first column col_index_num of 1 returns the value in the first column in table_array; a col_index_num of 2 returns the value in table_array; a col_index_num of 2 returns the value in the second column in table_array, and so on. in the second column in table_array, and so on.
• Range_lookup is a logical value that specifies whether Range_lookup is a logical value that specifies whether you want VLOOKUP to find an exact match or an you want VLOOKUP to find an exact match or an approximate match. If TRUE or omitted, an approximate match. If TRUE or omitted, an approximate match is returned. approximate match is returned.
Slide 11 of 26 Slide 11 of 26
Useful Excel/Solver Functions: SumifUseful Excel/Solver Functions: Sumif
SUMIF: SUMIF: Adds the cells specified by a given criteria.Adds the cells specified by a given criteria. Syntax: Syntax: SUMIFSUMIF((rangerange,,criteriacriteria,,sum_rangesum_range))
• Range is the range of cells you want Range is the range of cells you want evaluated.evaluated.
• Criteria is the criteria in the form of a number, Criteria is the criteria in the form of a number, expression, or text that defines which cells will expression, or text that defines which cells will be added. be added.
• Sum_range are the actual cells to sum. The Sum_range are the actual cells to sum. The cells in sum_range are summed only if their cells in sum_range are summed only if their corresponding cells in range match the corresponding cells in range match the criteria. If sum_range is omitted, the cells in criteria. If sum_range is omitted, the cells in range are summed.range are summed.
Slide 12 of 26 Slide 12 of 26
Example 1: Thomas & WashburnExample 1: Thomas & Washburn
Thomas Industries and Washburn Thomas Industries and Washburn Corporation supply three firms (Zrox, Hewes, Corporation supply three firms (Zrox, Hewes, Rockwright) with customized shelving for its Rockwright) with customized shelving for its offices. They both order shelving from the same offices. They both order shelving from the same two manufacturers, Arnold Manufacturers and two manufacturers, Arnold Manufacturers and Supershelf, Inc. Supershelf, Inc.
Currently weekly demands by the users Currently weekly demands by the users are 50 for Zrox, 60 for Hewes, and 40 for are 50 for Zrox, 60 for Hewes, and 40 for Rockwright. Both Arnold and Supershelf can Rockwright. Both Arnold and Supershelf can supply at most 75 units to its customers. supply at most 75 units to its customers.
Additional data is shown on the next slide. Additional data is shown on the next slide.
Slide 13 of 26 Slide 13 of 26
Example 1: Thomas & WashburnExample 1: Thomas & Washburn
Because of long standing contracts based on past orders, Because of long standing contracts based on past orders, unit costs from the manufacturers to the suppliers are:unit costs from the manufacturers to the suppliers are:
ThomasThomas WashburnWashburn Arnold 5 8Arnold 5 8 Supershelf 7 4Supershelf 7 4
The cost to install the shelving at the various locations are:The cost to install the shelving at the various locations are:
ZroxZrox HewesHewes RockwrightRockwright Thomas 1 5 8Thomas 1 5 8
Washburn 3 4 4Washburn 3 4 4
Find the quantities to be shipped from each source to each Find the quantities to be shipped from each source to each destination to minimize the total shipping cost. destination to minimize the total shipping cost.
Slide 14 of 26 Slide 14 of 26
Example 1: Thomas & WashburnExample 1: Thomas & Washburn
Network RepresentationNetwork Representation
ARNOLD
WASHBURN
ZROX
HEWES
-75-75
-75-75
+50+50
+60+60
+40+40
55
88
77
44
1155
88
33 44
44
ArnoldArnold
SuperSuperShelfShelf
HewesHewes
ZroxZrox
ThomasThomas
Wash-Wash-BurnBurn
Rock-Rock-WrightWright
11
22
33
44
55
66
77
Supply nodes Transshipment nodes
Demand nodes
Slide 15 of 26 Slide 15 of 26
Example 1: Thomas & WashburnExample 1: Thomas & Washburn
Linear Programming FormulationLinear Programming Formulation• Decision Variables Defined Decision Variables Defined
xxijij = amount shipped from manufacturer = amount shipped from manufacturer ii to supplier to supplier jj
xxjkjk = amount shipped from supplier = amount shipped from supplier jj to customer to customer kk
where where ii = 1 (Arnold), 2 (Supershelf) = 1 (Arnold), 2 (Supershelf)
jj = 3 (Thomas), 4 (Washburn) = 3 (Thomas), 4 (Washburn)
kk = 5 (Zrox), 6 (Hewes), 7 (Rockwright) = 5 (Zrox), 6 (Hewes), 7 (Rockwright)• Objective Function DefinedObjective Function Defined
Minimize Overall Shipping Costs: Minimize Overall Shipping Costs:
Min 5Min 5xx1313 + 8 + 8xx1414 + 7 + 7xx2323 + 4 + 4xx2424 + 1 + 1xx3535 + 5 + 5xx3636 + + 88xx3737
+ 3+ 3xx45 45 + 4+ 4xx4646 + 4 + 4xx4747
Slide 16 of 26 Slide 16 of 26
Example 1: Thomas & WashburnExample 1: Thomas & Washburn
Constraints DefinedConstraints Defined
Amount Out of Arnold: Amount Out of Arnold: xx1313 + + xx1414 << 75 75
Amount Out of Supershelf: Amount Out of Supershelf: xx2323 + + xx2424 << 75 75
Amount Through Thomas: Amount Through Thomas: xx1313 + + xx2323 - - xx3535 - - xx3636 - - xx3737 = = 0 0
Amount Through Washburn: Amount Through Washburn: xx1414 + + xx2424 - - xx4545 - - xx4646 - - xx4747 = = 0 0
Amount Into Zrox: Amount Into Zrox: xx3535 + + xx4545 >> 50 50
Amount Into Hewes: Amount Into Hewes: xx3636 + + xx4646 >> 60 60
Amount Into Rockwright: Amount Into Rockwright: xx3737 + + xx4747 >> 40 40
Non-negativity of Variables: Non-negativity of Variables: xxijij >> 0, for all 0, for all ii and and jj..
Slide 17 of 26 Slide 17 of 26
Example 1: Thomas & Washburn problem Example 1: Thomas & Washburn problem via LPvia LP
The solver formulation is:The solver formulation is:
Ship From To Unit Cost0 1 Arnold 3 Thomas $50 1 Arnold 4 Washburn $80 2 SuperShelf 3 Thomas $70 2 SuperShelf 4 Washburn $40 3 Thomas 5 Zrox $10 3 Thomas 6 Hewes $50 3 Thomas 7 Rock-Wright $80 4 Washburn 5 Zrox $30 4 Washburn 6 Hewes $40 4 Washburn 7 Rock-Wright $4
The Transshipment Problem
Nodes Net Flow Supply/Demand1 Arnold 0 -752 SuperShelf 0 -753 Thomas 0 04 Washburn 0 05 Zrox 0 506 Hewes 0 607 Rock-Wright 0 40
Total Transportation Cost $0
Slide 18 of 26 Slide 18 of 26
Example 1: Thomas & Washburn problem Example 1: Thomas & Washburn problem via LPvia LP
The solver solution is:The solver solution is:
Ship From To Unit Cost75 1 Arnold 3 Thomas $50 1 Arnold 4 Washburn $80 2 SuperShelf 3 Thomas $775 2 SuperShelf 4 Washburn $450 3 Thomas 5 Zrox $125 3 Thomas 6 Hewes $50 3 Thomas 7 Rock-Wright $80 4 Washburn 5 Zrox $335 4 Washburn 6 Hewes $440 4 Washburn 7 Rock-Wright $4
The Transshipment Problem
Supply (-) or Nodes Net Flow Demand (+)
1 Arnold -75 -752 SuperShelf -75 -753 Thomas 0 04 Washburn 0 05 Zrox 50 506 Hewes 60 607 Rock-Wright 40 40
Total Transportation Cost $1,150
Slide 19 of 26 Slide 19 of 26
Example 2: The Bavarian Motors Company Example 2: The Bavarian Motors Company (BMC)(BMC)
BMC manufactures (very) expensive sports luxury cars in BMC manufactures (very) expensive sports luxury cars in Germany and ships them for sale in the US to Newark and Germany and ships them for sale in the US to Newark and Jacksonville. From these entry ports the cars can be Jacksonville. From these entry ports the cars can be transported to distributors located in Boston, Columbus, transported to distributors located in Boston, Columbus, Atlanta, Richmond and Mobile. There are 200 cars Atlanta, Richmond and Mobile. There are 200 cars available for shipment in Newark and 300 in Jacksonville. available for shipment in Newark and 300 in Jacksonville. The distributors ordered the following quantities of cars:The distributors ordered the following quantities of cars:• Boston: 100Boston: 100• Columbus: 60Columbus: 60• Atlanta: 170Atlanta: 170• Richmond: 80Richmond: 80• Mobile: 70. Mobile: 70.
The shipping costs per unit for are shown in the next slide. The shipping costs per unit for are shown in the next slide. You are retained (for a large consulting fee) to determine You are retained (for a large consulting fee) to determine shipping quantities to minimize the total shipping cost. shipping quantities to minimize the total shipping cost.
Slide 20 of 26 Slide 20 of 26
Example 2: The Bavarian Motors Company Example 2: The Bavarian Motors Company (BMC)(BMC)
From To Unit Cost1 Newark 2 Boston $301 Newark 4 Richmond $402 Boston 3 Columbus $503 Columbus 5 Atlanta $355 Atlanta 3 Columbus $405 Atlanta 4 Richmond $305 Atlanta 6 Mobile $356 Mobile 5 Atlanta $257 Jacksonville 4 Richmond $507 Jacksonville 5 Atlanta $457 Jacksonville 6 Mobile $50
Slide 21 of 26 Slide 21 of 26
Example 2: The Bavarian Motors Company Example 2: The Bavarian Motors Company (BMC)(BMC)
Network RepresentationNetwork Representation
ARNOLD
WASHBURN
ZROX
HEWES
-200-200
-300-300
8080
170170
7070
$30$30
$40$40
$50$50
$35$35
Newark Newark (1)(1)
JacksonvilleJacksonville (7)(7)
AtlantaAtlanta (5)(5)
Richmond Richmond (4)(4)
BostonBoston (2)(2)
ColumbusColumbus (3)(3)
MobileMobile (6)(6)Supply nodes
100100
6060
$50$50
$40$40
$30$30
$35$35
$25$25
$50$50
$45$45
$50$50
Slide 22 of 26 Slide 22 of 26
Example 2: The Bavarian Motors Company Example 2: The Bavarian Motors Company (BMC)(BMC)
Linear Programming Formulation:Linear Programming Formulation:
• Decision Variables Defined Decision Variables Defined
xxijij = amount shipped from source = amount shipped from source ii to destination to destination j j
(i, j = 1 through 7)(i, j = 1 through 7)
• Objective Function DefinedObjective Function Defined
Minimize Overall Shipping Costs: Minimize Overall Shipping Costs:
Min 30Min 30xx1212 + 40 + 40xx1414 + 50 + 50xx2323 + 35 + 35xx3535 + 40 + 40xx5353 + + 3030xx5454 + + 3535xx5656 + 25 + 25xx65 65 + 50+ 50xx7474 + 45 + 45xx7575+ + 5050xx7676
Slide 23 of 26 Slide 23 of 26
Example 2: The Bavarian Motors Company Example 2: The Bavarian Motors Company (BMC)(BMC)
Constraints DefinedConstraints Defined
Flow constraint for node 1:Flow constraint for node 1: --xx1212 - - xx1414 >> -200 -200
Flow constraint for node 2:Flow constraint for node 2: xx1212 - - xx2323 >> 100 100
Flow constraint for node 3: Flow constraint for node 3: xx2323 + + xx5353 - - xx3535 >> 60 60
Flow constraint for node 4:Flow constraint for node 4: xx1414 + + xx5454 + + xx7474 >> 80 80
Flow constraint for node 5:Flow constraint for node 5:
xx3535 + + xx6565 + + xx7575 - - xx5353 - - xx5454 - - xx5656 >> 170 170
Flow constraint for node 6:Flow constraint for node 6: xx5656 + + xx7676 - - xx6565 >> 70 70
Flow constraint for node 7:Flow constraint for node 7: --xx7474 - - xx7575 - - xx7676 >> -300 -300
Non-negativity of variables: Non-negativity of variables: xxijij >> 0, for all 0, for all ii and and jj..
Slide 24 of 26 Slide 24 of 26
Example 2: The Bavarian Motors Company Example 2: The Bavarian Motors Company (BMC)(BMC)
The solver formulation is:The solver formulation is:
Ship From To Unit Cost Nodes Net Flow Supply/Demand0 1 Newark 2 Boston $30 1 Newark 0 -2000 1 Newark 4 Richmond $40 2 Boston 0 1000 2 Boston 3 Columbus $50 3 Columbus 0 600 3 Columbus 5 Atlanta $35 4 Richmond 0 800 5 Atlanta 3 Columbus $40 5 Atlanta 0 1700 5 Atlanta 4 Richmond $30 6 Mobile 0 700 5 Atlanta 6 Mobile $35 7 Jacksonville 0 -3000 6 Mobile 5 Atlanta $250 7 Jacksonville 4 Richmond $500 7 Jacksonville 5 Atlanta $450 7 Jacksonville 6 Mobile $50
Total Transportation Cost $0
Bavarian Motor Company
Slide 25 of 26 Slide 25 of 26
Example 2: The Bavarian Motors Company Example 2: The Bavarian Motors Company (BMC)(BMC)
The solver solution is:The solver solution is:
Ship From To Unit Cost Nodes Net Flow Supply/Demand120 1 Newark 2 Boston $30 1 Newark -200 -20080 1 Newark 4 Richmond $40 2 Boston 100 10020 2 Boston 3 Columbus $50 3 Columbus 60 600 3 Columbus 5 Atlanta $35 4 Richmond 80 8040 5 Atlanta 3 Columbus $40 5 Atlanta 170 1700 5 Atlanta 4 Richmond $30 6 Mobile 70 700 5 Atlanta 6 Mobile $35 7 Jacksonville -280 -3000 6 Mobile 5 Atlanta $250 7 Jacksonville 4 Richmond $50
210 7 Jacksonville 5 Atlanta $4570 7 Jacksonville 6 Mobile $50
Total Transportation Cost $22,350
Bavarian Motor Company
Slide 26 of 26 Slide 26 of 26
The End of Chapter 2DThe End of Chapter 2D