Download presentation
Presentation is loading. Please wait.
Published byEric Stone Modified over 7 years ago
1
S.S. Heragu Industrial Engineering Department University of Louisville
Facilities Design S.S. Heragu Industrial Engineering Department University of Louisville
2
Chapter 12: Advanced Location Models
3
Chapter 12: Advanced Location Models
12.1 INTRODUCTION 12.2 LOCATION MODELS Multiple-Facility Problems with Rectilinear Distances Multiple-Facility Problems with Euclidean Distances 12.3 ALLOCATION MODELS Network Flow Model Two-Stage Transportation Model Vehicle Routing Problem
4
Chapter 12: Advanced Location Models
12.4 LOCATION-ALLOCATION MODELS Set Covering Model Uncapacitated Location-Allocation Model Comprehensive Location- Allocation Model 12.5 SUMMARY
5
Introduction How many new facilities are to be located in the distribution network consisting of previously established facilities and customers? Where should they be located? How large should each new facility be? In other words, what is the capacity of the new facility?
6
Introduction How should customers be assigned to the new and existing facilities? More specifically, which facilities should be serving each customer? Can more than one facility serve a customer?
7
12.2 LOCATION MODELS
8
12.2.1 Multiple-Facility Problems with Rectilinear Distances
9
Model 1:
10
Model 1:
11
Model 1: A similar definition of y+ij, y-ij, xa+ij, xa-ij, yb+ij, and yb-ij yields |yi - yj| = y+ij + y-ij yi - yj = y+ij - y-ij |xi - aj| = xa+ij + xa-ij xi - aj = xa+ij - xa-ij |yi - bj| = yb+ij + yb-ij yi - bj = yb+ij - yb-ij
12
Model 1: Thus, the transformed linear model is:
13
Model 1: Subject to: (xi - xj) = x+ij - x-ij yi - yj = y+ij - y-ij
xi - aj = xa+ij - xa-ij yi - bj = yb+ij - yb-ij x+ij, x-ij, y+ij , y-ij > 0, i, j = 1, 2, ...,n xa+ij, xa-ij, yb+ij , yb-ij > 0, i = 1, 2, ...,n, j =1,2,...,m xi, yi unrestricted in sign, i = 1,2,...,n
14
Model 1: xij+ or xij-, but not both, can be greater than 0. (If both are, then the values of xij+ and xij- do not satisfy their definition in (2) and (3)). Similarly, only one of (i) yij+, yij-, (ii) xij+, xaij-, (iii) ybij+, ybij-, must be greater than 0. Model 1 can be simplified by noting that: xi can be substituted as ai + xij+ - xaij- yi may also be substituted similarly, resulting in a model with 2n fewer constraints and variables than model 1.
15
Example 1: Tires and Brakes, Inc., is an automobile service company specializing in tire and brake replacement. It has four service centers in a metropolitan area and a warehouse that supplies tires, brakes and other components to the service centers. The company manager has determined that he needs to add two more warehouses so as to improve component delivery service.
16
Example 1: He wants to ensure that the location of the two new warehouses is such that the cost of delivery components from the new warehouse to the existing facilities (four service centers and existing warehouse) as well as between the new warehouses is minimal. The four service centers and warehouse are located at the following coordinate locations: (8, 20), (8, 10), (10, 20), (16, 30), and (35, 20) It is anticipated that there will be one trip per day between the new warehouses.
17
Example 1: In addition, the number of trips between the new warehouses and four service centers as well as the existing warehouse is provided below. SC1 SC2 SC3 SC4 W1 W W Develop a mode similar to the transformed Model 1 to minimize distribution cost and solve it using LINGO, LINDO or the LP Solver in Excel
18
Example 1 (LINDO format):
MIN XP12 + XN12 + YP12 + YN12 + XP21 + XN21 + YP21 + YN XAP XAN YBP YBN XAP XAN YBP YBN XAP XAN YBP YBN XAP XAN YBP YBN XAP XAN YBP YBN XAP XAN YBP YBN XAP XAN YBP YBN XAP XAN YBP YBN XAP XAN YBP YBN XAP XAN YBP YBN25 SUBJECT TO 2) - XP12 + XN12 + X1 - X2 = 0 3) - XP21 + XN21 - X1 + X2 = 0 4) - YP12 + YN12 + Y1 - Y2 = 0 5) - YP21 + YN21 - Y1 + Y2 = 0 6) - XAP11 + XAN11 + X1 = 8 7) - XAP12 + XAN12 + X1 = 8 8) - XAP13 + XAN13 + X1 = 10 9) - XAP14 + XAN14 + X1 = 16 10) - XAP15 + XAN15 + X1 = 35 11) - XAP21 + XAN21 + X2 = 8 12) - XAP22 + XAN22 + X2 = 8 13) - XAP23 + XAN23 + X2 = 10 14) - XAP24 + XAN24 + X2 = 16 15) - XAP25 + XAN25 + X2 = 35 16) - YBP11 + YBN11 + Y1 = 20 17) - YBP12 + YBN12 + Y1 = 10 18) - YBP13 + YBN13 + Y1 = 20 19) - YBP14 + YBN14 + Y1 = 30 20) - YBP15 + YBN15 + Y1 = 20 21) - YBP21 + YBN21 + Y2 = 20 22) - YBP22 + YBN22 + Y2 = 10 23) - YBP23 + YBN23 + Y2 = 20 24) - YBP24 + YBN24 + Y2 = 30 25) - YBP25 + YBN25 + Y2 = 20 END FREE X1 FREE X2 FREE Y1 FREE Y2
19
Example 1 (LINGO Format):
Data: N = 2; M = 5; Enddata Sets: NewFac/1..N/: X, Y; ExistFac/1..M/: A, B; NewLinks(NewFac,NewFac): F, XP, XN, YP, YN; ExistLinks(NewFac,ExistFac): G, XAP, XAN, YBP, YBN; Endsets F = ; G = ; A = ; B = ; ! Objective function; G(i,j)*(XAP(i,j)+XAN(i,j)+YBP(i,j)+YBN(i,j))); ! (NewLinks(i,j): X(i)-X(j)=XP(i,j)-XN(i,j); (ExistLinks(i,j): X(i)-A(j)=XAP(i,j)-XAN(i,j); Y(i)-B(j)=YBP(i,j)-YBN(i,j)); End
20
Example 1 (LINGO Solution):
Global optimal solution found. Objective value: Total solver iterations: 16 Variable Value X( 1) X( 2) Y( 1) Y( 2) XP( 2, 1) XN( 1, 2) XAP( 2, 1) XAP( 2, 2) XAN( 1, 3) XAN( 1, 4) XAN( 1, 5) XAN( 2, XAN( 2, 5) YBP( 1, 2) YBP( 2, 2) YBN( 1, 4) YBN( 2, 4)
21
12.2.2 Multiple-Facility Problems with Euclidean Distances
Consider the following objective for the euclidean distance problem.
22
Multiple-Facility Problems with Euclidean Distances
Taking the partial derivatives, we get
23
Multiple-Facility Problems with Euclidean Distances
24
Multiple-Facility Problems with Euclidean Distances
To make sure the denominator is never 0, we add to it. We then get:
25
Multiple-Facility Problems with Euclidean Distances
26
Example 2 Consider Example 1. Assuming the Euclidean metric is more appropriate and that Tire and Brakes, Inc. does not currently have a warehouse, determine where the two new warehouses are to be located.
27
12.3 ALLOCATION MODEL
28
Network Flow Model
29
Network Flow Model: Model 2 Consider this notation:
cij cost of sending one unit of flow on arc (i, j) Uij upper bound on the flow that can be sent on arc (i, j), i.e., capacity of arc (i,j) Lij lower bound on the flow that can be sent on arc (i, j) Di net flow generated at node i xij number of units of flow on arc (i, j)
30
Model 2:
31
Network Simplex Algorithm:
Step 1: Construct a spanning tree for the n nodes. The variables xij corresponding to the arcs (i,j) in the spanning tree are basic variables and the remaining are nonbasic. Find a basic feasible solution to the problem so that: (1) the basic variables satisfy Lij < xij < Uij , and (2) the nonbasic variables take on a value of Lij or Uij to satisfy constraint (22). Step 2: Set u1 =0 and find uj, j=2,...,n using the formula ui - uj = cij for all basic variables. Step 3: If ui - uj - cij < 0 for all nonbasic variables xij with a value of Lij , and ui - uj - cij > 0 for all nonbasic variables xij with a value of Uij , then the current basic feasible solution is optimal; stop. Otherwise, go to step 4.
32
Network Simplex Algorithm:
Step 4: Select the variable xi*j* that violates the optimality condition (in step 3) the most, i.e., the largest of the ui - uj - cij for those nonbasic variables with xij = Lij, and the smallest of the ui - uj - cij for those nonbasic variables with xij = Uij,. Make the arc (i*,j*) a basic variable and add arc (i*,j*) to the spanning tree. Make one of the other basic variables in the loop of basic variables [formed by including arc (i*,j*)], a nonbasic variable such that: (1) xi*j* takes on the largest possible value, (2) constraint (21) is satisfied for all the n nodes, and (3) constraint (22) is satisfied for all the arcs in the loop. Remove the arc corresponding to the nonbasic variable just identified so that we have a spanning tree once again. Go to step 2.
33
Example 3 The Fast Shipping Company manages the distribution of lawnmowers from a company that has two factories (F1 and F2) in the Northeast to two large customer bases (C1 and C2) in the Southwest. For cost and freight consolidation reasons, Fast Shipping would like to route the shipments via three intermediate nodes (T1 - T3) located in the midwest. The relevant data is provide in Tables Setup a model to determine how the shipment is to take place from the two factories to the two destinations via the three intermediate shipment points.
34
Supply and Demand
35
Inbound and Outbound Transportation Costs and Arc Capacities
36
Example 3 (LINDO Format):
MIN X X X X X X Y Y Y Y12 + Y Y32 SUBJECT TO 2) X11 + X12 + X13 = 3) X21 + X22 + X23 = 4) - Y11 - Y21 - Y31 = 5) - Y12 - Y22 - Y32 = 6) X11 + X21 - Y11 - Y12 = 0 7) X12 + X22 - Y21 - Y22 = 0 8) X13 + X23 - Y31 - Y32 = 0 9) X11 <= 500 10) X12 <= 11) X13 <= 350 12) X21 <= 13) X22 <= 750 14) X23 <= 450 15) Y11 <= 16) Y21 <= 750 17) Y31 <= 18) Y12 <= 150 19) Y22 <= 200 20) Y32 <= END
37
Example 3 (LINGO Format):
Data: N = 2; M = 3; Enddata Sets: OriginNodes/1..N/: DemandO; DestinationNodes/1..N/: DemandD; IntermediateNodes/1..M/: DemandI; OutboundArcs(OriginNodes,IntermediateNodes): C, X, LO, UO; InboundArcs(IntermediateNodes,DestinationNodes): D, Y, LD, UD; Endsets Data: C = ; LO = ; UO = ; D = ; LD = ; UD = ; DemandO= ; DemandD= ; DemandI=0 0 0; Enddata
38
Example 3 (LINGO Format):
! Objective function; D(i,j)*Y(i,j)); ! (OutboundArcs(i,j): (InboundArcs(j,i): Y(j,i)<=UD(j,i)); End
39
Example 3 (LINGO Solution):
Global optimal solution found. Objective value: Total solver iterations: 8 Variable Value X( 1, 1) X( 1, 2) X( 1, 3) X( 2, 2) X( 2, 3) Y( 1, 1) Y( 1, 2) Y( 2, 2) Y( 3, 1) Y( 3, 2)
40
12.3.2 Two-Stage Transportation Model
4 q p r
41
Two-Stage Transportation Model:
Parameters Si capacity of supply source i, i = 1, 2, ..., p Pj capacity of plant j, j = 1, 2, ..., q Dk demand at customer k, k = 1, 2, ..., r cij cost of transporting one unit from supply source i to plant j djk cost of transporting one unit from plant j to customer k Decision Variables xij number of units transported from supply source i to plant j yjk number of units transported from plant j to customer k
42
Model 3:
43
Four cases arise: Supply source capacity is unlimited and total plant capacity is more than total demand Supply source capacity is unlimited and total demand exceeds total plant capacity Plant capacity is unlimited and total supply source capacity exceeds total demand Plant capacity is unlimited and total demand exceeds total supply source capacity In the following discussion, the supply sources are assumed to have unlimited capacities and total plant capacity is more than total demand (case (i))
44
Case 1:
45
Example 4: 2-Stage Distribution Problem: RIFIN Company has recently developed a new method of manufacturing a type of chemical. It involves refining a certain raw material which can be obtained from four overseas suppliers A, B, C, D who have access to the four ports at Vancouver, Boston, Miami, and San Francisco, respectively. RIFIN wants to determine the location of plants at which the chemical will be refined. The chemical, once refined, will be transported via trucks to five outlets located at Dallas, Phoenix, Portland, Montreal and Orlando.
46
Example 4: After an initial study, the choice of location for RIFIN’s refineries has narrowed down to Denver, Atlanta and Pittsburgh. Assume that one unit of raw material is required to make one unit of chemical. The amount of raw material from each potential refinery as well as the cost of trucking the chemical to outlets are also provided below. Determine the location of RIFIN’s refining plants, capacities at these plants and distribution pattern for the raw material and processed chemical.
47
Example 4: Raw Material Source Supply Outlet Demand A 1000 Dallas 900
B 800 Phoenix 800 C 800 Portland 600 D 700 Montreal 500 Orlando 500
48
Raw Material Transportation Cost
Example 4: Raw Material Transportation Cost TO Denver Atlanta Pittsburgh FROM Vancouver Boston 8 8 5 Miami San Francisco
49
Chemical Trucking Cost
Example 4: Chemical Trucking Cost TO Dallas Phoenix Portland Montreal Orlando FROM Den Atla Pitts
50
Figure 12.3: Pictorial representation of RIFIN Example
Da V D Ph B Po A M Mo P SF Orl
51
Setup transportation tableau for Example 4
52
Solution: The transportation problem may be solved to yield the solution indicated in the following figure. Notice that the solution indicates that refineries be built at all locations.
53
Figure 12.4: Da V D Ph B Po A M Mo P SF Orl 900 1000 400 600 400 1000
800 M 500 Mo 600 P 500 SF 100 Orl
54
12.3.3 Vehicle Routing Problem
Determine the number of vehicles required to: serve its customers (pick-up or deliver parcels) so that each customer is visited once and only once per day the vehicle capacity is not exceeded, and the total travel time is minimized
55
Vehicle Routing Problem:
Tij time to travel from customer i to customer j, i,j=1,2, …, n Di demand at customer i, i=1,2, …, n Ck capacity of vehicle k, k=1,2, …, p
56
Model 4:
57
12.4 LOCATION-ALLOCATION MODELS
58
Set Covering Model
59
Set Covering Model Define: cj cost of locating facility at site j aij = xj = { 1 if facility located at site j can cover customer i 0 Otherwise { 1 if facility is located at site j 0 Otherwise The set covering problem is to:
60
Model 5:
61
Greedy Heuristic for Set Covering Problem:
Step 1: If cj = 0, for any j = 1, 2, ..., n, set xj = 1 and remove all constraints in which xj appears with a coefficient of +1. Step 2: If cj > 0, for any j = 1, 2, ..., n and xj does not appear with +1 coefficient in any of the remaining constraints, set xj = 0. Step 3: For each of the remaining variables, determine cj/dj, where dj is the number of constraints in which xj appears with +1 coefficient. Select the variable k for which ck/dk is minimum, set xk = 1 and remove all constraints in which xj appears with +1 coefficient. Examine the resulting model.
62
Greedy Heuristic for Set Covering Problem:
Step 4 If there are no more constraints, set all the remaining variables to 0 and stop. Otherwise go to step 1. We illustrate the above greedy heuristic with an example.
63
Example 5: A rural country administration wants to locate several medical emergency response units so that it can respond to calls within the county within eight minutes of the call. The county is divided into seven population zones. The distance between the centers of each pair of zones is known and is given in the matrix below.
64
Figure 12.5: [dij] =
65
Example 5: The response units can be located in the center of population zones 1 through 7 at a cost (in hundreds of thousands of dollars) of 100, 80, , 90, 90, and 110 respectively. Assuming the average travel speed during an emergency to be 60 miles per hour, formulate an appropriate set covering model to determine where the units are to be located and how the population zones are to be covered and solve the model using the greedy heuristic.
66
Solution: Defining { 1 if zone i’s center can be reached from center of zone j within 8 minutes aij = 0 otherwise and noting that dij > 8, dij < 8 would yield aij values of 0, 1, respectively the following [aij] matrix can be set up.
67
Solution: [aij] = The corresponding set covering model is:
68
Solution: Minimize 100x1+80x2+120x3+110x4+90x5+90x6+110x7 Subject to
x1, x2, x3, x4, x5, x6, x7 = 0 or 1
69
Greedy Heuristic Step 1: Since each cj > 0, j = 1, 2, ..., 7, go to step 2. Step 2: Since xj appears in each constraint with +1 coefficient, go to step 3. Step 3:
70
Solution: Since the minimum ck/dk occurs for k = 2, set x2 = 1 and remove the first two and the last three constraints. The resulting model is shown below. Minimize 100x1+80x2+120x3+110x4+90x5+90x6+110x7 Subject to x x4 + x5 + x6 > 1 x x x7 > 1 x1, x2, x3, x4, x5, x6, x7 = 0 or 1
71
Greedy Heuristic: Step 4: Since we have two constraints go to step 1.
Step 1: Since c1 > 0, j = 1, 3, 4, ..., 7, go to step 2 Step 2: Since c1 > 0 and x1 does not appear in any of the constraints with +1 coefficient, set x1 = 0.
72
Greedy Heuristic Since the minimum ck/dk occurs for k = 4, set x4 = 1 and remove both constraints in the above model since x4 has a +1 coefficient in each. The resulting model is shown below. Minimize: 120x3+90x5+90x6+110x7 Subject to x3 , x5 , x6 , x7 > 0
73
Greedy Heuristic: Step 4: Since there are no constraints in the above model, set x3 = x5 = x6 = x7 = 0 and stop. The solution is x2 = x4 = 1; x1 = x3 = x5 = x6 = x7 = 0. Cost of locating emergency response units to meet the eight minute response service level is $800,000 + $1,100,000 = $1,900,000.
74
12.4.2 Uncapacitated Location-Allocation Model
75
Uncapacitated Location-Allocation Model
Parameters m number of potential facilities n number of customers cij cost of transporting one unit of product from facility i to customer j Fi fixed cost of opening and operating facility j Dj number of units demanded at customer j Decision Variables xij number of units shipped from facility i to customer j
76
Model 6
77
Model 7 Modify Model 6 by transforming xij variables and the cij parameter
78
Is Model 7 equivalent to Model 6?
Substitute x’ij = xij/Dj, we get Divide LHS and RHS by ΣDj, we get Because the sum of LHS terms is < yi, each term must also be < yi Because Dj/ΣDj is a positive fraction for each j: x’ij < yi, j=1,2,…,n Adding we get
79
On solving Model 7 Although a general purpose branch-and-bound technique can be applied to solve model 5, it is not very efficient since we have to solve several subproblems, one at each node, using the Simplex algorithm. In what follows, we discuss a very efficient way of solving the subproblems that does not use the Simplex algorithm To facilitate its discussion, it is convenient to refer to x’ij, the fraction of customer j’s demand met by facility i in model 7, as simply xij. Thus, xij in the remainder of this section does not refer to the number of units, rather a fraction. Similarly cij now refers to cij
80
On solving Model 7 The central idea of the branch-and-bound algorithm is based on the following result Suppose, at some stage of the branch-and-bound solution process, we are at a node where some facilities are closed (corresponding yi = 0), and some are open (yi = 1) and the remaining are free, i.e., a decision whether to open or close has not yet been taken (0< yi <1). Let us define: S0 as the set of facilities whose yi value is equal to 0; {i: yi = 0} S1 as the set of facilities whose yi value is equal to 1; {i: yi = 1) S2 as the set of facilities whose yi value is greater than 0 but less than 1; {i: 0 < yi < 1}
81
Rewrite Model 7 as Model 8 Note: The inequality in the second constraint above can be converted to an equality because in the optimal solution LHS will be equal to RHS. Thus, Because max {xij} is 1, max {yi} is also 1
82
Rewrite Model 8 as Model 9
83
On solution of Model 9 Model 9 which is equivalent to model 6 without the integer restrictions on the y variables, is a half assignment problem. It can be proved (again, by contradiction) that for each j = 1, 2, ..., n, only one of x1j, x2j, ..., xmj will take on a value of 1, due to Σxij=1 In fact, for each j, the xij taking on a value of 1 will be the one that has the smallest coefficient in the objective function Thus, to solve model 9, we only need to find for a specific j, the smallest coefficient of xij in the objective function, i=1,2,…,m, set the corresponding xij equal to 1 and all other xij 's to 0 as follows:
84
On solution of Model 9 Select the smallest cij from the list, set the corresponding xij = 1 and all other xij’s to 0. This is the minimum coefficient rule. We do not include facility i S2 in the min coeff rule because these are closed Moreover, a lower bound on the partial solution of the node under consideration can be obtained by adding to the sum of the coefficients of the xij variables which have taken a value of 1
85
Branch-and-Bound Algorithm for Basic Location-Allocation Model
86
Branch-and-Bound Step 1: Set best known upper bound UB = infinity; node counter, p = 1; S0 = S1 = {}; S2 = {1, 2, ..., m} Step 2: Construct a subproblem (node) p with the current values of the y variables. Step 3: Solve subproblem corresponding to the node under consideration using the minimum coefficient rule and
87
Branch-and-Bound Step 4: If the solution is such that all y variables take on integer (0 or 1) values, go to step 7. Otherwise go to step 5. Step 5: Determine the lower bound of node p using model 7. Arbitrarily select one of the facilities, say k, which has taken on a fractional value for yk, i.e., 0 < yk < 1 and create two subproblems (nodes) p+1 and p+2 as follows.
88
Branch-and-Bound Subproblem p+1
Include facility k and others with a yk value of 0 in So; facilities with yk value of 1 in S1; all other facilities in S2 Subproblem p+2 Include facility k and others with a yk value of 1 in S1; facilities with yk value of 0 in S0; all other facilities in S2. If xkj = 1 for j = 1, 2, ..., n, in the solution to subproblem p, remove each such customer j from consideration in subproblem p+2, and reduce n by the number of j’s for which xkj = 1
89
Branch-and-Bound Step 6: Solve subproblem p+1 using the minimum coefficient rule and Set p = p+2. Go to step 4. Step 7: Determine the lower bound of node p using model 9. If it is greater than UB, set UB = lower bound of node p. Prune node p as well as any other node whose bound is greater than or equal to UB. If there are no more nodes to be pruned, stop. Otherwise consider any unpruned node and go to step 3.
90
Example 6 The nation’s leading retailer Sam-Mart wants to establish its presence in the Northeast by opening five department stores. In order to serve the stores (whose locations have already been determined), the retailer wants to have a maximum of three distribution warehouses. The potential locations for these warehouses have already been selected and there are no practical limits on the size of the warehouses. The fixed cost (in hundreds of thousands of dollars) of building and operating the warehouse at each location is 6, 5, and 3, respectively.
91
Example 6 The variable cost of serving each warehouse from each of the potential warehouse locations is given below (again in hundreds of thousands of dollars). Determine how many warehouses are to be built and in what locations. Also determine how the customers (departmental stores) are to be served.
92
Example 6 Fi 1 2 3
93
Solution: Step 1: Set UB = infinity; node counter p = 1; S0 = S1 = {}; S2 = {1, 2, 3}. Step 2: Minimum coefficient rule: Determine the xij coefficients as follows.
94
Solution: 6 1 5 3 3 c11=20+ =21 ; c21=15+ =16 ; c31=12+ = 12 5 5 5 5 5
Since the minimum occurs for cij = c31, set x31 = 1 and x11 = x21 = 0. 6 1 5 3 3 c12=12+ =13 ; c22=10+ =11 ; c32=16+ = 16 5 5 5 5 5 Since the minimum occurs for cij = c22, set x22 = 1 and x12 = x32 = 0.
95
Solution: 6 1 5 3 3 c13=14+ =15 ; c23=20+ =21 ; c32=25+ = 25 5 5 5 5 5
Since the minimum occurs for cij = c13, set x13 = 1 and x23 = x33 = 0. 6 1 5 3 3 c14=12+ =13 ; c24= 8+ = 9 ; c34=11+ = 11 5 5 5 5 5 Since the minimum occurs for cij = c24, set x24 = 1 and x14 = x34 = 0.
96
Solution: 6 1 5 3 3 c15=10+ =11 ; c25=15+ =16 ; c35=10+ = 10 5 5 5 5 5
Since the minimum occurs for cij = c35, set x35 = 1 and x15 = x25 = 0.
97
Solution: 1 1 1 y1= [x11+x12+x13+x14+x15]= [0+0+1+0+0]= 5 5 5 1 1 2
[ ]= 5 5 5 1 1 2 y3= [x31+x32+x33+x34+x35]= [ ]= 5 5 5
98
Solution: Step 4: Since all three y variables have fractional values, go to Step 5.
99
Solution: Step 5: Lower bound of node 1 = 3 1 3 2 0 + 12 + 11 + 15
= 58 5 5 5 5 Arbitrarily select variable y1 to branch on. Create subproblems 2 and 3 as follows Subproblem 2: S0 = {1}; S1 = {}; S2 = {2, 3}. Subproblem 3: S0 = {1}; S1 = {}; S2 = {2, 3}.
100
Solution: Step 6: Solution of subproblem 2 using minimum coefficient rule: Determine xij coefficients as follows.
101
Solution: 5 3 3 c21=15+ =16 ; c31=12+ =12 5 5 5 Since the minimum occurs for cij = c31, set x31 = 1, x21 = 0. 5 3 3 c22=10+ =11 ; c32=16+ =16 5 5 5 Since the minimum occurs for cij = c22, set x22 = 1, x32 = 0.
102
Solution: 5 3 3 c23=20+ =21 ; c33=25+ =25 5 5 5 Since the minimum occurs for cij = c23, set x23 = 1, x33 = 0. 5 3 3 c24=8 + = 9 ; c34=11+ =11 5 5 5 Since the minimum occurs for cij = c24, set x24 = 1, x34 = 0.
103
Solution: 5 3 3 c24=15+ =16 ; c35=10+ =10 5 5 5 Since the minimum occurs for cij = c35, set x35 = 1, x25 = 0.
104
Solution: 1 1 3 y2= [x21+x22+x23+x24+x25]= [0+1+1+1+0]= 5 5 5 1 1 2
[ ]= 5 5 5
105
Solution: Solution of subproblem 3 using minimum coefficient rule: Determine xij coefficients as follows: Since x13 = 1 in the solution to subproblem 1, remove store 1 from consideration in node 3 and other nodes emanting from node 3. Reduce n by 1, n=5-1=4.
106
Solution: 5 1 3 3 c11=20; c21 =15+ =16 ; c31=12+ =12 4 4 4 4
Since the minimum occurs for cij = c31, set x31 = 1 and x11 = x21 = 0. 5 1 3 3 c12=12; c22 =10+ =11 ; c32=16+ =16 4 4 4 4 Since the minimum occurs for cij = c22, set x22 = 1 and x12 = x32 = 0.
107
Solution: 5 1 3 3 c14=12; c24 =8 + = 9 ; c34=11+ =11 4 4 4 4
Since the minimum occurs for cij = c24, set x24 = 1 and x24 = x34 = 0. 5 1 3 3 c15=10; c25 =15+ =16 ; c35=10+ =10 4 4 4 4 Since the minimum occurs for cij = c15, set x15 = 1 and x25 = x35 = 0.
108
Solution: 1 1 2 1 y2= [x21+x22+x24+x25]= [0+1+1+0]= = 4 4 4 2 1 1 1
[ ]= 4 4 4 Set p=1+2=3
109
Solution: Step 4: Since the solution for subproblem 2 is not all integer, go to step 5. We repeat steps 3, 4, 5, 6, and 7 until all the nodes are pruned. We then have an optimal solution. These steps are summarized in Table 2.
110
Figure 12.8
111
12.5.3 Comprehensive Location-Allocation Model
112
Comprehensive Location-Allocation Model
Parameters Sij production capacity of product i at plant j Dil demand for product i at customer zone l Fk fixed cost of operating warehouse k Vik unit variable cost of handling product i at warehouse k Cijkl average unit cost of producing and transporting product i from plant j via warehouse k to customer l UCk Upper bound on the capacity of warehouse k LCk Lower bound on the capacity of warehouse k
113
Comprehensive Location-Allocation Model
Decision Variables Xijkl number of units of product i transported from plant j via warehouse k to customer l
114
Model 10
115
Model 10
116
Comprehensive Location-Allocation Model
We can easily add more linear constraints not involving xijkl variables to model 10 to: Impose upper and lower limit on the number of warehouses that can be opened; Enforce precedence relations among warehouses (e.g., open warehouse at location 1 only if another is opened at location 3) Enforce service constraints (e.g., if it is decided to open a certain warehouse, then a specific customer area must be served by it) Other constraints that can be added are discussed further in Geoffrion and Graves (1974). Many of these constraints reduce the solution space, so they allow quicker solution of the model while giving the modeler much flexibility
117
Comprehensive Location-Allocation Model
Suppose we fix the values of binary variables ykl and zk temporarily at 0 or 1 so that corresponding constraints are satisfied Then, model 10 reduces to the following linear program which we will refer to as TP
118
Comprehensive Location-Allocation Model
TP can be decomposed into i separate transportation problems, TPi, as follows because the variables pertaining to a specific product appear only in the rows (constraints) corresponding to that product and not elsewhere. (Notice that we have temporarily eliminated K from TPi)
119
Comprehensive Location-Allocation Model
TP can be decomposed into i separate transportation problems, TPi, as follows because the variables pertaining to a specific product appear only in the rows (constraints) corresponding to that product and not elsewhere. (Notice that we have temporarily eliminated K from TPi)
120
Comprehensive Location-Allocation Model
Dual of TPi, designated as DTPi, follows.
121
Comprehensive Location-Allocation Model
Combine p dual problems into one master problem MP Minimize T
122
Modified Benders’ Decomposition Algorithm for Comprehensive Location-Allocation Model
Step 0: Set upper bound UB=infinity, and convergence tolerance parameter ε to a desired small, positive value. Set ykl, zk = 0 or 1, for k=1,2,…,r, l=1,2,…,s so that the resulting values satisfy constraints with ykl, zk Step 1: Set up TPi, i=1,2,…,p and determine K for the current values of ykl, zk k=1,2,…,r, l=1,2,…,s. Set up corresponding dual model DTPi for each i. Solve each DTPi and add K to the sum of the optimal objective function value of each DTPi. If this sum is less than or equal to UB, set UB = K + sum of original OFVs of each DTPi Step 2: Set up model MP for the current values of uij, vil, i=1,2,…p; j=1,2,…,q, l=1,2,…,s. Find a feasible solution to MP such that T<UB-ε. If there is no such feasible solution to the current MP, stop. We have an ε-optimal solution. Otherwise, go to step 1 with the current values of the ykl, and zk variables
123
Example 7 The nation’s leading grocer, Myers, wants to determine how to source the highest margin product, and also determine the warehouses through which to serve three of its largest stores in Louisville. In order to serve the stores (whose locations have already been determined), the grocer wants to utilize one or two distribution warehouses which will receive the product from one or more of four plants which produce the product. The potential locations for these warehouses have already been selected and there are no practical limits on the size of the warehouses. The fixed cost (in hundreds of thousands of dollars) of building and operating the warehouse at each location is 6, 5, and 3, respectively.
124
Example 7 The variable cost of serving each warehouse from each of the potential warehouse locations is given below (again in hundreds of thousands of dollars). Determine how many warehouses are to be built and in what locations. Also determine how the customers (departmental stores) are to be served.
125
Example 7 Plant 1 2 3 4 W/H Cust Capacity 200 100 50 500 FC 2000 1500
VC 10 15 Cust UB 300 400 Demand LB 20 5 8 12 6 9 16 14
126
Example 7 - MIP MODEL: [_1] MIN= 1000 * Y_1_ * Y_1_ * Y_1_ * Y_2_1 + 3000 * Y_2_ * Y_2_ * X_1_1_ * X_1_1_ * X_1_1_3 + 16 * X_1_2_ * X_1_2_ * X_1_2_ * X_2_1_ * X_2_1_ * X_2_1_ * X_2_2_ * X_2_2_ * X_2_2_3 + 13 * X_3_1_ * X_3_1_ * X_3_1_ * X_3_2_ * X_3_2_2 + 26 * X_3_2_ * X_4_1_ * X_4_1_ * X_4_1_ * X_4_2_1 + 23 * X_4_2_ * X_4_2_ * Z_ * Z_2 ; [_2] X_1_1_1 + X_1_1_2 + X_1_1_3 + X_1_2_1 + X_1_2_2 + X_1_2_3 <= 200 ; [_3] X_2_1_1 + X_2_1_2 + X_2_1_3 + X_2_2_1 + X_2_2_2 + X_2_2_3 <= 100 ; [_4] X_3_1_1 + X_3_1_2 + X_3_1_3 + X_3_2_1 + X_3_2_2 + X_3_2_3 <= 50 ; [_5] X_4_1_1 + X_4_1_2 + X_4_1_3 + X_4_2_1 + X_4_2_2 + X_4_2_3 <= 500 ; [_6] * Y_1_1 + X_1_1_1 + X_2_1_1 + X_3_1_1 + X_4_1_1 >= 0 ; [_7] * Y_1_2 + X_1_1_2 + X_2_1_2 + X_3_1_2 + X_4_1_2 >= 0 ; [_8] * Y_1_3 + X_1_1_3 + X_2_1_3 + X_3_1_3 + X_4_1_3 >= 0 ; [_9] * Y_2_1 + X_1_2_1 + X_2_2_1 + X_3_2_1 + X_4_2_1 >= 0 ; [_10] * Y_2_2 + X_1_2_2 + X_2_2_2 + X_3_2_2 + X_4_2_2 >= 0 ; [_11] * Y_2_3 + X_1_2_3 + X_2_2_3 + X_3_2_3 + X_4_2_3 >= 0 ; [_12] Y_1_1 + Y_2_1 = 1 ; [_13] Y_1_2 + Y_2_2 = 1 ; [_14] Y_1_3 + Y_2_3 = 1 ; [_15] 100 * Y_1_ * Y_1_ * Y_1_ * Z_1 <= 0 ; [_16] 100 * Y_2_ * Y_2_ * Y_2_ * Z_2 <= 0 ; [_17] 100 * Y_1_ * Y_1_ * Y_1_3 >= 0 ; [_18] 100 * Y_2_ * Y_2_ * Y_2_3 >= 0 ; @BIN( Y_2_1); @BIN( Z_2); END
127
Example 7 – MIP Solution Global optimal solution found.
Objective value: Objective bound: Infeasibilities: Extended solver steps: Total solver iterations: Variable Value Reduced Cost Q R S CAPACITY( 1) CAPACITY( 2) CAPACITY( 3) CAPACITY( 4) FIXEDCOST( 1) FIXEDCOST( 2) VARIABLECOST( 1) VARIABLECOST( 2) UPPERBOUND( 1) UPPERBOUND( 2) LOWERBOUND( 1) LOWERBOUND( 2) Z( 1) Z( 2)
128
Example 7 – LP MODEL: [_1] MIN= 25 * X_1_1_ * X_1_1_ * X_1_1_ * X_1_2_1 + 19 * X_1_2_ * X_1_2_ * X_2_1_ * X_2_1_ * X_2_1_3 + 18 * X_2_2_ * X_2_2_ * X_2_2_ * X_3_1_ * X_3_1_2 + 11 * X_3_1_ * X_3_2_ * X_3_2_ * X_3_2_ * X_4_1_ * X_4_1_ * X_4_1_ * X_4_2_ * X_4_2_2 + 24 * X_4_2_ ; [_2] X_1_1_1 + X_1_1_2 + X_1_1_3 + X_1_2_1 + X_1_2_2 + X_1_2_3 <= 200 ; [_3] X_2_1_1 + X_2_1_2 + X_2_1_3 + X_2_2_1 + X_2_2_2 + X_2_2_3 <= 100 ; [_4] X_3_1_1 + X_3_1_2 + X_3_1_3 + X_3_2_1 + X_3_2_2 + X_3_2_3 <= 50 ; [_5] X_4_1_1 + X_4_1_2 + X_4_1_3 + X_4_2_1 + X_4_2_2 + X_4_2_3 <= 500 ; [_6] X_1_1_1 + X_2_1_1 + X_3_1_1 + X_4_1_1 >= 0 ; [_7] X_1_1_2 + X_2_1_2 + X_3_1_2 + X_4_1_2 >= 0 ; [_8] X_1_1_3 + X_2_1_3 + X_3_1_3 + X_4_1_3 >= 0 ; [_9] X_1_2_1 + X_2_2_1 + X_3_2_1 + X_4_2_1 >= 100 ; [_10] X_1_2_2 + X_2_2_2 + X_3_2_2 + X_4_2_2 >= 200 ; [_11] X_1_2_3 + X_2_2_3 + X_3_2_3 + X_4_2_3 >= 100 ; [_12] 0 = 0 ; [_13] 0 = 0 ; [_14] 0 = 0 ; [_15] 0 <= 0 ; [_16] 0 <= 3600 ; [_17] 0 >= 0 ; [_18] 0 >= ; END
129
Example 7 – LP Solution Global optimal solution found.
Objective value: UPPER BOUND Infeasibilities: Total solver iterations: Variable Value Reduced Cost Q R S CAPACITY( 1) CAPACITY( 2) CAPACITY( 3) CAPACITY( 4) FIXEDCOST( 1) FIXEDCOST( 2) VARIABLECOST( 1) VARIABLECOST( 2) UPPERBOUND( 1) UPPERBOUND( 2) LOWERBOUND( 1) LOWERBOUND( 2) Z( 1) Z( 2)
130
Example 7 – Dual MODEL: MAX = 200 * U_ * U_ * U_ * U_ * V_4 + 200 * V_ * V_ * T_ * T_4; [ X_1_1_1] U_1 + V_1 <= 25; [ X_1_1_2] U_1 + V_2 <= 28; [ X_1_1_3] U_1 + V_3 <= 23; [ X_1_2_1] U_1 + V_4 <= 16; [ X_1_2_2] U_1 + V_5 <= 19; [ X_1_2_3] U_1 + V_6 <= 20; [ X_2_1_1] U_2 + V_1 <= 20; [ X_2_1_2] U_2 + V_2 <= 23; [ X_2_1_3] U_2 + V_3 <= 18; [ X_2_2_1] U_2 + V_4 <= 18; [ X_2_2_2] U_2 + V_5 <= 21; [ X_2_2_3] U_2 + V_6 <= 22; [ X_3_1_1] U_3 + V_1 <= 13; [ X_3_1_2] U_3 + V_2 <= 16; [ X_3_1_3] U_3 + V_3 <= 11; [ X_3_2_1] U_3 + V_4 <= 22; [ X_3_2_2] U_3 + V_5 <= 25; [ X_3_2_3] U_3 + V_6 <= 26; [ X_4_1_1] U_4 + V_1 <= 15; [ X_4_1_2] U_4 + V_2 <= 18; [ X_4_1_3] U_4 + V_3 <= 13; [ X_4_2_1] U_4 + V_4 <= 20; [ X_4_2_2] U_4 + V_5 <= 23; [ X_4_2_3] U_4 + V_6 <= 24; @BND( -0.1E+31, U_1, -0.1E+31, U_2, 0); @BND( -0.1E+31, U_3, -0.1E+31, U_4, W_1); @FREE( -0.1E+31, T_1, 0); @BND( -0.1E+31, T_2, 0); END
131
Example 7 – Dual Solution
Global optimal solution found. Objective value: K=7500 =15,500 UPPER BOUND Infeasibilities: Total solver iterations: Variable Value Reduced Cost U_ U_ U_ U_ V_ V_ V_ T_ T_ V_ V_ V_ W_ W_ W_ T_
132
Example 7 – Master Problem
MODEL: [_1] MIN= Z; [_2] Z >= * Y_2_ * Y_2_ * Y_2_ * Y_2_ * Y_2_ * Y_2_3 + 1000 * Y_1_ * Y_1_ * Y_1_ * Y_2_1 + 3000 * Y_2_ * Y_2_ * Z_ * Z_2 ; [_4] * Y_1_1 + X_1_1_1 + X_2_1_1 + X_3_1_1 + X_4_1_1 >= 0 ; [_5] * Y_1_2 + X_1_1_2 + X_2_1_2 + X_3_1_2 + X_4_1_2 >= 0 ; [_6] * Y_1_3 + X_1_1_3 + X_2_1_3 + X_3_1_3 + X_4_1_3 >= 0 ; [_7] * Y_2_1 + X_1_2_1 + X_2_2_1 + X_3_2_1 + X_4_2_1 >= 0 ; [_8] * Y_2_2 + X_1_2_2 + X_2_2_2 + X_3_2_2 + X_4_2_2 >= 0 ; [_9] * Y_2_3 + X_1_2_3 + X_2_2_3 + X_3_2_3 + X_4_2_3 >= 0 ; [_10] Y_1_1 + Y_2_1 = 1 ; [_11] Y_1_2 + Y_2_2 = 1 ; [_12] Y_1_3 + Y_2_3 = 1 ; [_13] 100 * Y_1_ * Y_1_ * Y_1_ * Z_1 <= 0 ; [_14] 100 * Y_2_ * Y_2_ * Y_2_ * Z_2 <= 0 ; [_15] 100 * Y_1_ * Y_1_ * Y_1_3 >= 0 ; [_16] 100 * Y_2_ * Y_2_ * Y_2_3 >= 0 ; @BIN( Y_2_1); @BIN( Z_2); END
133
Example 7 – Master Problem Solution
Global optimal solution found. Objective value: LOWER BOUND Objective bound: Infeasibilities: Extended solver steps: Total solver iterations: Variable Value Reduced Cost Z Y_2_ Y_2_ Y_2_ Y_1_ Y_1_ Y_1_ Z_ Z_
134
Example 7 – LP MODEL: [_1] MIN= 25 * X_1_1_ * X_1_1_ * X_1_1_ * X_1_2_1 + 19 * X_1_2_ * X_1_2_ * X_2_1_ * X_2_1_ * X_2_1_3 + 18 * X_2_2_ * X_2_2_ * X_2_2_ * X_3_1_ * X_3_1_2 + 11 * X_3_1_ * X_3_2_ * X_3_2_ * X_3_2_ * X_4_1_ * X_4_1_ * X_4_1_ * X_4_2_ * X_4_2_2 + 24 * X_4_2_ ; [_2] X_1_1_1 + X_1_1_2 + X_1_1_3 + X_1_2_1 + X_1_2_2 + X_1_2_3 <= 200 ; [_3] X_2_1_1 + X_2_1_2 + X_2_1_3 + X_2_2_1 + X_2_2_2 + X_2_2_3 <= 100 ; [_4] X_3_1_1 + X_3_1_2 + X_3_1_3 + X_3_2_1 + X_3_2_2 + X_3_2_3 <= 50 ; [_5] X_4_1_1 + X_4_1_2 + X_4_1_3 + X_4_2_1 + X_4_2_2 + X_4_2_3 <= 500 ; [_6] X_1_1_1 + X_2_1_1 + X_3_1_1 + X_4_1_1 >= 100 ; [_7] X_1_1_2 + X_2_1_2 + X_3_1_2 + X_4_1_2 >= 200 ; [_8] X_1_1_3 + X_2_1_3 + X_3_1_3 + X_4_1_3 >= 100 ; [_9] X_1_2_1 + X_2_2_1 + X_3_2_1 + X_4_2_1 >= 0 ; [_10] X_1_2_2 + X_2_2_2 + X_3_2_2 + X_4_2_2 >= 0 ; [_11] X_1_2_3 + X_2_2_3 + X_3_2_3 + X_4_2_3 >= 0 ; [_12] 0 = 0 ; [_13] 0 = 0 ; [_14] 0 = 0 ; [_15] 0 <= 2600 ; [_16] 0 <= 0 ; [_17] 0 >= ; [_18] 0 >= 0 ; END
135
Example 7 – LP Solution Global optimal solution found.
Objective value: UPPER BOUND Infeasibilities: Total solver iterations: Variable Value Reduced Cost Q R S CAPACITY( 1) CAPACITY( 2) CAPACITY( 3) CAPACITY( 4) FIXEDCOST( 1) FIXEDCOST( 2) VARIABLECOST( 1) VARIABLECOST( 2) UPPERBOUND( 1) UPPERBOUND( 2) LOWERBOUND( 1) LOWERBOUND( 2) Z( 1) Z( 2)
136
Example 7 – Dual MODEL: MAX = 200 * U_ * U_ * U_ * U_ * V_1 + 200 * V_ * V_ * T_ * T_3; [ X_1_1_1] U_1 + V_1 <= 25; [ X_1_1_2] U_1 + V_2 <= 28; [ X_1_1_3] U_1 + V_3 <= 23; [ X_1_2_1] U_1 + V_4 <= 16; [ X_1_2_2] U_1 + V_5 <= 19; [ X_1_2_3] U_1 + V_6 <= 20; [ X_2_1_1] U_2 + V_1 <= 20; [ X_2_1_2] U_2 + V_2 <= 23; [ X_2_1_3] U_2 + V_3 <= 18; [ X_2_2_1] U_2 + V_4 <= 18; [ X_2_2_2] U_2 + V_5 <= 21; [ X_2_2_3] U_2 + V_6 <= 22; [ X_3_1_1] U_3 + V_1 <= 13; [ X_3_1_2] U_3 + V_2 <= 16; [ X_3_1_3] U_3 + V_3 <= 11; [ X_3_2_1] U_3 + V_4 <= 22; [ X_3_2_2] U_3 + V_5 <= 25; [ X_3_2_3] U_3 + V_6 <= 26; [ X_4_1_1] U_4 + V_1 <= 15; [ X_4_1_2] U_4 + V_2 <= 18; [ X_4_1_3] U_4 + V_3 <= 13; [ X_4_2_1] U_4 + V_4 <= 20; [ X_4_2_2] U_4 + V_5 <= 23; [ X_4_2_3] U_4 + V_6 <= 24; @BND( -0.1E+31,U_1, -0.1E+31,U_2, 0); @BND( -0.1E+31,U_3, -0.1E+31,U_4, W_1); @FREE( -0.1E+31, T_1, 0); @BND( -0.1E+31, T_2, 0); END
137
Example 7 – Dual Solution
Global optimal solution found. Objective value: K = 6000 = UPPPER BOUND Infeasibilities: Total solver iterations: Variable Value Reduced Cost U_ U_ U_ U_ V_ V_ V_ T_ T_ V_ V_ V_ W_ W_ W_ T_
138
Example 7 – Master Problem
MODEL: [_1] MIN= Z; [_2] Z >= * Y_2_ * Y_2_ * Y_2_3 + 1000 * Y_1_ * Y_1_ * Y_1_ * Y_2_1 + 3000 * Y_2_ * Y_2_ * Z_ * Z_2 ; [_3] Z >= * Y_1_ * Y_1_ * Y_1_3 + [_4] * Y_1_1 + X_1_1_1 + X_2_1_1 + X_3_1_1 + X_4_1_1 >= 0 ; [_5] * Y_1_2 + X_1_1_2 + X_2_1_2 + X_3_1_2 + X_4_1_2 >= 0 ; [_6] * Y_1_3 + X_1_1_3 + X_2_1_3 + X_3_1_3 + X_4_1_3 >= 0 ; [_7] * Y_2_1 + X_1_2_1 + X_2_2_1 + X_3_2_1 + X_4_2_1 >= 0 ; [_8] * Y_2_2 + X_1_2_2 + X_2_2_2 + X_3_2_2 + X_4_2_2 >= 0 ; [_9] * Y_2_3 + X_1_2_3 + X_2_2_3 + X_3_2_3 + X_4_2_3 >= 0 ; [_10] Y_1_1 + Y_2_1 = 1 ; [_11] Y_1_2 + Y_2_2 = 1 ; [_12] Y_1_3 + Y_2_3 = 1 ; [_13] 100 * Y_1_ * Y_1_ * Y_1_ * Z_1 <= 0 ; [_14] 100 * Y_2_ * Y_2_ * Y_2_ * Z_2 <= 0 ; [_15] 100 * Y_1_ * Y_1_ * Y_1_3 >= 0 ; [_16] 100 * Y_2_ * Y_2_ * Y_2_3 >= 0 ; @BIN( Y_2_1); @BIN( Z_2); END
139
Example 7 – Master Problem Solution
Global optimal solution found. Objective value: LOWER BOUND Objective bound: Infeasibilities: Extended solver steps: Total solver iterations: Variable Value Reduced Cost Z Y_2_ Y_2_ Y_2_ Y_1_ Y_1_ Y_1_ Z_ Z_
140
Example 7 Lower Bound of 12,000 is close to Upper Bound. So, optimal solution must be between the two. The student is encouraged to carry Benders’ decomposition algorithm one more time to ensure LB=UB in the third iteration.
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.