Facilities Design S.S. Heragu Industrial Engineering Department University of Louisville Chapter 12: Advanced Location Models Chapter 12: Advanced Location Models 12.1 12.2 12.3 INTRODUCTION LOCATION MODELS 12.2.1 Multiple-Facility Problems with Rectilinear Distances 12.2.2 Multiple-Facility Problems with Euclidean Distances ALLOCATION MODELS 12.3.1 Network Flow Model 12.3.2 Two-Stage Transportation Model 12.3.3 Vehicle Routing Problem Chapter 12: Advanced Location Models 12.4 12.5 LOCATION-ALLOCATION MODELS 12.4.1 Set Covering Model 12.4.2 Uncapacitated Location-Allocation Model 12.4.3 Comprehensive LocationAllocation Model SUMMARY 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? 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? 12.2 LOCATION MODELS 12.2.1 Multiple-Facility Problems with Rectilinear Distances Model 1: n n c Minimize ij f ij [| x i x j | | y i y j |] i1 j 1 n m d g [| x ij ij i1 j 1 i a j | | y i b j |] Model 1: Define ( xi x j ) if xi x j 0 x ij otherwise 0 ( x j xi ) if xi x j 0 x ij otherwise 0 We can observe that, whether ( xi x j ) 0 or 0, xi x j x ij x ij and ( xi x j ) x ij x ij 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 Model 1: Thus, the transformed linear model is: n Minimize n c f x x y y ij ij ij ij ij ij i 1 j 1 n m d g xa xa yb yb ij ij ij ij ij ij i 1 j 1 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 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+ - xaijyi may also be substituted similarly, resulting in a model with 2n fewer constraints and variables than model 1. 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. Example 1: At the time, 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. 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. W2 W3 SC1 SC2 SC3 SC4 W1 7 3 7 2 5 4 4 5 2 2 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 Example 1: MIN XP12 + XN12 + YP12 + YN12 + XP21 + XN21 + YP21 + YN21 + 7 XAP11 + 7 XAN11 + 7 YBP11 + 7 YBN11 + 7 XAP12 + 7 XAN12 + 7 YBP12 + 7 YBN12 + 5 XAP13 + 5 XAN13 + 5 YBP13 + 5 YBN13 + 4 XAP14 + 4 XAN14 + 4 YBP14 + 4 YBN14 + 2 XAP15 + 2 XAN15 + 2 YBP15 + 2 YBN15 + 3 XAP21 + 3 XAN21 + 3 YBP21 + 3 YBN21 + 2 XAP22 + 2 XAN22 + 2 YBP22 + 2 YBN22 + 4 XAP23 + 4 XAN23 + 4 YBP23 + 4 YBN23 + 5 XAP24 + 5 XAN24 + 5 YBP24 + 5 YBN24 + 2 XAP25 + 2 XAN25 + 2 YBP25 + 2 YBN25 • • • • • • • • • • • • • • SUBJECT TO 2) - XP12 + XN12 + X1 - X2 = 3) - XP21 + XN21 - X1 + X2 = 4) - YP12 + YN12 + Y1 - Y2 = 5) - YP21 + YN21 - Y1 + Y2 = 6) - XAP11 + XAN11 + X1 = 7) - XAP12 + XAN12 + X1 = 8) - XAP13 + XAN13 + X1 = 9) - XAP14 + XAN14 + X1 = 10) - XAP15 + XAN15 + X1 = 11) - XAP21 + XAN21 + X2 = 12) - XAP22 + XAN22 + X2 = 13) - XAP23 + XAN23 + X2 = 14) - XAP24 + XAN24 + X2 = 0 0 0 0 8 8 10 16 35 8 8 10 16 • • • • • • • • • • • • • • • • 15) - XAP25 + XAN25 + X2 = 35 16) - YBP11 + YBN11 + Y1 = 17) - YBP12 + YBN12 + Y1 = 18) - YBP13 + YBN13 + Y1 = 19) - YBP14 + YBN14 + Y1 = 20) - YBP15 + YBN15 + Y1 = 21) - YBP21 + YBN21 + Y2 = 22) - YBP22 + YBN22 + Y2 = 23) - YBP23 + YBN23 + Y2 = 24) - YBP24 + YBN24 + Y2 = 25) - YBP25 + YBN25 + Y2 = END FREE X1 FREE X2 FREE Y1 FREE Y2 20 10 20 30 20 20 10 20 30 20 12.2.2 Multiple-Facility Problems with Euclidean Distances Consider the following objective for the euclidean distance problem. (x x ) ( y y ) d g ( x a ) ( y b ) n Minimize n cij fij 2 i i 1 j 1 n 2 j i j m 2 i 1 j 1 ij ij i j 2 i j Multiple-Facility Problems with Euclidean Distances Taking the partial derivatives, we get n cij f ij(xi x j ) j 1 (xi x j ) 2 (yi y j ) 2 m d ij g ij(xi a j ) j 1 (xi a j ) 2 (yi b j ) 2 i 1,2,..., n 0, Multiple-Facility Problems with Euclidean Distances n cij f ij(yi y j ) j 1 (xi x j ) 2 (yi y j ) 2 m d ij g ij(yi b j ) j 1 (xi a j ) 2 (yi b j ) 2 i 1,2,..., n 0, Multiple-Facility Problems with Euclidean Distances To make sure the denominator is never 0, we add to it. We then get: cij fij x j n j 1 xi' xi x j yi y j 2 j 1 2 cij fij n x x y y j j 1 xi a j yi b j 2 i j 2 j 1 2 dij gij m 2 i dij gij a j m x a y b 2 i j i j 2 i 1, 2,..., Multiple-Facility Problems with Euclidean Distances And … cij fij y j n j 1 yi' xi x j yi y j 2 j 1 2 cij fij n x x y y j j 1 xi a j yi b j 2 i j 2 j 1 2 dij gij m 2 i dij gij b j m x a y b 2 i j i j 2 i 1, 2,..., n 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. 12.3 ALLOCATION MODEL 12.3.1 Network Flow Model 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) Model 2: n n Minimize cij xij i 1 j 1 n n j 1 i 1 Subject to xij x ji Di i 1, 2,..., n Lij xij U ij i, j 1, 2,..., n 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. 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. 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 12.3-12.5. 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. Supply and Demand Inbound and Outbound Transportation Costs and Arc Capacities T1 T2 T3 F1 8 (500) 11 (1500) 5 (350) F2 12 (1200) 8 (750) 5 (450) C1 6 (1000) 12 (750) 9 (1000) C2 3 (150) 1 (200) 19 (1500) Example 3: MIN 8 X11 + 11 X12 + 5 X13 + 12 X21 + 8 X22 + 5 X23 + 6 Y11 + 12 Y21 + 9 Y31 + 3 Y12 + Y22 + 19 Y32 SUBJECT TO 2) X11 + X12 + X13 = 900 3) X21 + X22 + X23 = 600 4) - Y11 - Y21 - Y31 = - 750 5) - Y12 - Y22 - Y32 = - 750 6) X11 + X21 - Y11 - Y12 = 0 7) X12 + X22 - Y21 - Y22 = 0 8) X13 + X23 - Y31 - Y32 = 0 9) X11 <= 500 10) X12 <= 1500 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) END X13 <= X21 <= X22 <= X23 <= Y11 <= Y21 <= Y31 <= Y12 <= Y22 <= Y32 <= 350 1200 750 450 1000 750 1000 150 200 1500 12.3.2 Two-Stage Transportation Model 1 1 1 2 2 2 3 3 4 q p r Two-Stage Transportation Model: Consider the following notation: 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 The LP model is: Model 3: p q q r c x d Minimize i 1 j 1 ij ij j 1 k 1 jk y jk q Subject to xij Si i 1, 2,..., p j 1 p x i 1 q ij y j 1 jk p Pj j 1, 2,..., q Dk k 1, 2,..., r r x y i 1 ij k 1 jk j 1, 2,..., q xij , y jk i 1, 2,..., p; j 1, 2,..., q; k 1, 2,..., r Four cases arise: (i) Supply source capacity is unlimited and total plant capacity is more than total demand (ii) Supply source capacity is unlimited and total demand exceeds total plant capacity (iii)Plant capacity is unlimited and total supply source capacity exceeds total demand (iv)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)) Supply Source Plant Case 1: Customer 1 2 1 c111 c112 2 c121 c122 1 r 1 2 q Excess Plant Capacity c 11r 0 M M 0 P1 c 12r M 0 M 0 P2 Dummy Plant q c c c M 1q1 1q2 1 c211 c212 c 21r 0 M 2 c221 c222 c 22r M 0 2 1qr M 0 q c c c M 2q1 2q2 2qr Capacity 0 Pq M 0 P1 M 0 P2 M 0 0 Pq p 1 cp11 2 cp21 cp22 c p1r 0 M M 0 P1 c p2r M 0 M 0 P2 q c c c M Demand pq1 pq2 D1 D2 pqr D r (p1)P1 M (p1)P2 0 0 Pq (p1)P P D q q j 1 r j k 1 k q p Pj j 1 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. 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. Example 4: Raw Material Source Supply A B C D 1000 800 800 700 Outlet Dallas Phoenix Portland Montreal Orlando Demand 900 800 600 500 500 Example 4: Raw Material Transportation Cost TO FROM Vancouver Boston Miami San Francisco Denver Atlanta 4 8 12 11 13 8 2 11 Pittsburgh 9 5 9 12 Example 4: Chemical Trucking Cost TO Dallas Phoenix Portland Montreal Orlando FROM Den. Atla. Pitts. 28 10 18 26 22 21 12 23 23 30 29 18 30 8 21 Figure 12.3: Pictorial representation of RIFIN Example Da V D Ph B A Po M Mo P SF Orl Setup transportation tableau for Example 4 Supply Source Vancouver (A) Boston (B) Miami (C) San Francisco (D) Demand Refinery Customer Dummy Source Capacity Dal Ph Port Mont Orl Van Bos Miami SanFr Denver 32 30 16 34 34 0 M M M 1000 Atlanta 23 35 36 42 41 0 M M M 1000 Pittsburgh 47 30 32 27 30 0 M M M 1000 Denver 36 34 20 38 38 M 0 M M 800 Atlanta 18 30 31 37 16 M 0 M M 800 Pittsburgh 23 26 28 23 26 M 0 M M 800 Denver 40 38 24 42 42 M M 0 M 800 Atlanta 12 24 25 31 10 M M 0 M 800 Pittsburgh 27 30 32 27 30 M M 0 M 800 Denver 39 37 23 41 41 M M M 0 700 Atlanta 21 33 34 40 19 M M M 0 700 Pittsburgh 30 33 35 30 33 M M M 0 700 900 800 600 500 500 2000 1600 1600 1400 9900 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. Figure 12.4: V 900 1000 D B 400 Ph 600 400 1000 Po A M 800 500 600 SF Da P 100 Mo 500 Orl 12.3.3 Vehicle Routing Problem Determine the number of vehicles required to: (1)serve its customers (pick-up or deliver parcels) so that each customer is visited once and only once per day (2)the vehicle capacity is not exceeded, and (3)the total travel time is minimized Vehicle Routing Problem: Tij Di Ck time to travel from customer i to customer j, i,j=1,2, …, n demand at customer i, i=1,2, …, n capacity of vehicle k, k=1,2, …, p 1 if truck k visits customer j after visiting customer i xijk 0 otherwise Model 4: p n n Minimize Tij xijk k 1 i 1 j 1 p Subject to n x k 1 i 1 p n x ijk D x i 1 n x i 1 ilk j 1 1 j 1, 2,..., n 1 i 1, 2,..., n k 1 j 1 n n i ijk ijk Ck k 1, 2,..., p n xljk 0 l 1, 2,..., n; k 1, 2,..., p j 1 xijk 0 or 1 i, j 1, 2,..., n; k 1, 2,..., p 12.4 LOCATION-ALLOCATION MODELS 12.4.1 Set Covering Model 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: Model 5: n Minimize c j x j j 1 n Subject to a x j 1 ij j 1 i 1,2,..., m x j 0 or 1 j 1, 2,..., n Greedy Heuristic for Set Covering Problem: Step 1: Step 2: Step 3: 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. 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. 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. 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. 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. Figure 12.5: [dij] = 1 2 3 4 5 6 7 1 0 8 50 9 50 30 8 2 4 0 13 11 8 5 5 3 12 15 0 8 4 7 9 4 6 60 8 0 10 9 7 5 15 7 6 9 0 3 25 6 10 2 5 10 2 0 27 7 8 3 9 3 27 27 0 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, 120 110, 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. Solution: Defining aij = { 1 if zone i’s center can be reached from center of zone j within 8 minutes 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. Solution: [aij] = 1 2 3 4 5 6 7 1 1 1 0 0 0 0 1 2 1 1 0 0 1 1 1 3 0 0 1 1 1 1 0 4 1 0 1 1 0 0 1 5 0 1 1 0 1 1 0 6 0 1 1 0 1 1 0 The corresponding set covering model is: 7 1 1 0 1 0 0 1 Solution: Minimize 100x1+80x2+120x3+110x4+90x5+90x6+110x7 Subject to x1 + x2 + x4 + x7 > 1 x1 + x2 + x5 + x6 + x7 > 1 x3 + x4 + x5 + x6 >1 x3 + x4 + x7 > 1 x2 + x3 + x5 + x6 >1 x2 + x3 + x5 + x6 >1 x1 + x2 + x4 + x7 > 1 x1, x2, x3, x4, x5, x6, x7 > 0 or 1 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: c 120 c c1 100 c c 80 110 90 33.3; 2 16; 3 30; 4 27.5; 5 22.5; d1 3 d2 5 d3 4 d4 4 d5 4 c6 90 c 110 22.5; 7 27.5 d6 4 d7 4 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 x3 + x4 + x5 + x6 >1 x3 + x4 + x7 > 1 x1, x2, x3, x4, x5, x6, x7 = 0 or 1 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. 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 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. 12.4.2 Uncapacitated Location-Allocation Model 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 1 if facility i is opened yi 0 otherwise Model 6 m m n i 1 i 1 j 1 Minimize Fi yi cij xij m Subject to x i 1 n x j 1 ij xij 0 ij D j j 1, 2,..., n n yi D j i 1, 2,..., m j 1 i 1, 2,..., m; j 1, 2,..., n yi 0 or 1 i 1, 2,..., m Model 7 Modify Model 6 by transforming xij variables and the cij parameter xij' xij Dj cij' cij D j i 1, 2,..., m; j 1, 2,..., n m m n i 1 i 1 j 1 Minimize Fi yi cij' xij' m Subject to x i 1 ' ij n x j 1 ' ij 1 j 1, 2,..., n nyi i 1, 2,..., m xij' 0 i 1, 2,..., m; j 1, 2,..., n yi 0 or 1 i 1, 2,..., m Is Model 7 equivalent to Model 6? Substitute x’ij = xij/Dj, we get n x D j 1 ' ij n j yi D j i 1, 2,..., m j 1 Divide LHS and RHS by ΣDj, we get n ' xij D j yi i 1, 2,..., m n D j j 1 1 j 1 Because the sum of LHS terms is < yi, each term must also be < yi xij' D j yi i 1, 2,..., m n D j 1 j Because Dj/ΣDj is a positive fraction for each j: x’ij < yi, j=1,2,…,n n Adding we get xij' nyi i 1, 2,..., m j 1 On solving Model 7 Although a general purpose branch-andbound 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 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} Rewrite Model 7 as Model 8 Minimize F c x F y c x n i i S1 j 1 i S1 m Subject to x i 1 n ij x j 1 ij m ij ij i i i S2 n i S2 j 1 ij ij 1 j 1, 2,..., n nyi i 1, 2,..., m xij 0 i 1, 2,..., m; j 1, 2,..., n 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, 1 n yi xij i 1, 2,..., m n j 1 Because max {xij} is 1, max {yi} is also 1 Rewrite Model 8 as Model 9 n n x m n ij Minimize Fi cij xij Fi cij xij i S1 i S2 j 1 n i S2 j 1 i S1 j 1 n n F Fi Minimize cij xij Fi cij i n i S1 i S2 j 1 i S1 j 1 m Subject to x i 1 n ij x j 1 ij 1 j 1, 2,..., n nyi , i 1,2,..., m xij 0 i 1, 2,..., m; j 1, 2,..., n xij 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: cij if i S1 Fi cij if i S2 n 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 F i i S1 to the sum of the coefficients of the xij variables which have taken a value of 1 Branch-and-Bound Algorithm for Basic Location-Allocation Model 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 1 n yi xij i 1, 2,..., m n j 1 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. 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 Branch-and-Bound • Step 6: Solve subproblem p+1 using the minimum coefficient rule and 1 n yi xij i 1, 2,..., m n j 1 • • 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. 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. 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. Example 6 1 1 20 2 15 3 12 2 12 10 16 3 14 20 25 4 12 8 11 5 10 15 10 Fi 6 5 3 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. 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. 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. 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. Solution: 1 1 1 y1= [x11+x12+x13+x14+x15]= [0+0+1+0+0]= 5 5 5 1 1 2 y2= [x21+x22+x23+x24+x25]= [0+1+0+1+0]= 5 5 5 1 1 2 y3= [x31+x32+x33+x34+x35]= [1+0+0+0+1]= 5 5 5 Solution: Step 4: Since all three y variables have fractional values, go to Step 5. Solution: Step 5: Lower bound of node 1 = 0 + 12 3 + 11 + 15 1 + 9 + 10 3 = 58 2 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}. Solution: Step 6: Solution of subproblem 2 using minimum coefficient rule: Determine xij coefficients as follows. 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. 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. 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. Solution: 1 1 3 y2= [x21+x22+x23+x24+x25]= [0+1+1+1+0]= 5 5 5 1 1 2 y3= [x31+x32+x33+x34+x35]= [1+0+0+0+1]= 5 5 5 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. 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. 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. Solution: 1 1 2 1 y2= [x21+x22+x24+x25]= [0+1+1+0]= = 4 4 4 2 1 1 1 y2= [x31+x32+x34+x35]= [1+0+0+0]= 4 4 4 Set p=1+2=3 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. Figure 12.8 1 2 4 LB = 77 y3 = 1 Pruned LB = 58.4 y1 = 0.2 y2 = y3 = 0.4 3 LB = 64.2 y2 = 0.6; y3 = 0.4 5 LB = 68 y2 = 1 y3 = 1 Pruned 6 LB = 63.25 y1 = 1; y2 = 0.5 y3 = 0.25 LB = 66.5 y2 = 1; y3 = 0.5 8 9 LB = 74 y1 = 1 Pruned LB = 68 y1 = 1 y3 = 1 7 LB = 68 y1 = y2 = y3 = 1 12.5.3 Comprehensive LocationAllocation Model 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 Comprehensive Location-Allocation Model Decision Variables Xijkl number of units of product i transported from plant j via warehouse k to customer l 1 if warehouse i serves customer area l ykl 0 otherwise 1 if warehouse is opened at location k zk 0 otherwise Model 10 p q r s Minimize cijkl xijkl i 1 j 1 k 1 l 1 r Subject to s x k 1 l 1 q x j 1 ijkl r y k 1 p kl s r r D V Y F z i 1 l 1 il k 1 ik kl k 1 Sij i 1, 2,..., p; j 1, 2,..., q Dil ykl i 1, 2,..., p; k 1, 2,..., r; l 1, 2..., s 1 l 1, 2..., s s D i 1 l 1 ijkl p il ykl LCk zk k 1, 2,..., r k k Model 10 p s D i 1 l 1 il ykl UCk zk k 1, 2,..., r xijkl 0 i 1, 2,..., p; j 1, 2,..., q; k 1, 2,..., r; l 1, 2,..., s ykl , zk =0 or 1 k 1, 2,..., r; l 1, 2,..., s 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 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 p q s Minimize cijk (l )l xijk (l )l K i 1 j 1 l 1 s Subject to x Sij i 1, 2,..., p; j 1, 2,..., q x Dil yk (l )l i 1, 2,..., p; l 1, 2..., s l 1 q j 1 ijk ( l ) l ijk ( l ) l xijk ( l )l 0 i 1, 2,..., p; j 1, 2,..., q; l 1, 2,..., s p s r K DilVik (l ) yk (l )l Fk zk i 1 l 1 k 1 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) q s Minimize cijk (l )l xijk (l )l j 1 l 1 s Subject to x l 1 q ijk ( l ) l x j 1 ijk ( l ) l Sij j 1, 2,..., q Dil yk (l )l l 1, 2..., s xijk (l )l 0 j 1, 2,..., q; l 1, 2,..., s 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) q s Minimize cijk (l )l xijk (l )l j 1 l 1 s Subject to x l 1 q ijk ( l ) l x j 1 ijk ( l ) l Sij j 1, 2,..., q Dil yk (l )l l 1, 2..., s xijk (l )l 0 j 1, 2,..., q; l 1, 2,..., s Comprehensive Location-Allocation Model Dual of TPi, designated as DTPi, follows. q s j 1 l 1 Maximize - uij Sij vil Dil yk (l )l Subject to - uij vil cijk (l )l j 1, 2,..., q; l 1, 2,..., s uij 0 i 1, 2,..., p; j 1, 2,..., q vil 0 i 1, 2,..., p; l 1, 2,..., s Comprehensive Location-Allocation Model Combine p dual problems into one master problem MP Minimize T p q p r p s s r r k 1 k 1 Subject to T uij Sij vil Dil ykl Dil Vik ykl Fk zk i 1 j 1 q x r y k 1 p kl 1 l 1, 2..., s s D il i 1 l 1 p s D i 1 l 1 i 1 l 1 Dil yk (l )l i 1, 2,..., p; l 1, 2..., s ijk ( l ) l j 1 i 1 k 1 l 1 il ykl UCk zk k 1, 2,..., r ykl LCk zk k 1, 2,..., r ykl , zk =0 or 1 k 1, 2,..., r; l 1, 2,..., s 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 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. 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. Example 7 Plant 1 2 3 4 W/H 1 2 Capacity 200 100 50 500 FC 2000 1500 VC 10 15 Cust 1 2 3 UB 300 400 Demand 100 200 100 LB 0 0 1 2 1 2 3 1 20 10 W/H 1 5 8 3 2 15 12 2 6 9 10 3 8 16 4 10 14 Plant Example 7 - MIP MODEL: [_1] MIN= 1000 * Y_1_1 + 2000 * Y_1_2 + 1000 * Y_1_3 + 1500 * Y_2_1 + 3000 * Y_2_2 + 1500 * Y_2_3 + 25 * X_1_1_1 + 28 * X_1_1_2 + 23 * X_1_1_3 + 16 * X_1_2_1 + 19 * X_1_2_2 + 20 * X_1_2_3 + 20 * X_2_1_1 + 23 * X_2_1_2 + 18 * X_2_1_3 + 18 * X_2_2_1 + 21 * X_2_2_2 + 22 * X_2_2_3 + 13 * X_3_1_1 + 16 * X_3_1_2 + 11 * X_3_1_3 + 22 * X_3_2_1 + 25 * X_3_2_2 + 26 * X_3_2_3 + 15 * X_4_1_1 + 18 * X_4_1_2 + 13 * X_4_1_3 + 20 * X_4_2_1 + 23 * X_4_2_2 + 24 * X_4_2_3 + 2000 * Z_1 + 1500 * 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] - 100 * Y_1_1 + X_1_1_1 + X_2_1_1 + X_3_1_1 + X_4_1_1 >= 0 ; [_7] - 200 * Y_1_2 + X_1_1_2 + X_2_1_2 + X_3_1_2 + X_4_1_2 >= 0 ; [_8] - 100 * Y_1_3 + X_1_1_3 + X_2_1_3 + X_3_1_3 + X_4_1_3 >= 0 ; [_9] - 100 * Y_2_1 + X_1_2_1 + X_2_2_1 + X_3_2_1 + X_4_2_1 >= 0 ; [_10] - 200 * Y_2_2 + X_1_2_2 + X_2_2_2 + X_3_2_2 + X_4_2_2 >= 0 ; [_11] - 100 * 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_1 + 200 * Y_1_2 + 100 * Y_1_3 - 3000 * Z_1 <= 0 ; [_16] 100 * Y_2_1 + 200 * Y_2_2 + 100 * Y_2_3 - 4000 * Z_2 <= 0 ; [_17] 100 * Y_1_1 + 200 * Y_1_2 + 100 * Y_1_3 >= 0 ; [_18] 100 * Y_2_1 + 200 * Y_2_2 + 100 * Y_2_3 >= 0 ; @BIN( Y_1_1); @BIN( Y_1_2); @BIN( Y_1_3); @BIN( Y_2_1); @BIN( Y_2_2); @BIN( Y_2_3); @BIN( Z_1); @BIN( Z_2); END Example 7 – MIP Solution Global optimal solution found. Objective value: Objective bound: Infeasibilities: Extended solver steps: Total solver iterations: Variable 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) 12300.00 12300.00 0.000000 0 13 Value 4.000000 2.000000 3.000000 200.0000 100.0000 50.00000 500.0000 2000.000 1500.000 10.00000 15.00000 3000.000 4000.000 0.000000 0.000000 1.000000 0.000000 Reduced Cost 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 2000.000 1500.000 Example 7 – LP MODEL: [_1] MIN= 25 * X_1_1_1 + 28 * X_1_1_2 + 23 * X_1_1_3 + 16 * X_1_2_1 + 19 * X_1_2_2 + 20 * X_1_2_3 + 20 * X_2_1_1 + 23 * X_2_1_2 + 18 * X_2_1_3 + 18 * X_2_2_1 + 21 * X_2_2_2 + 22 * X_2_2_3 + 13 * X_3_1_1 + 16 * X_3_1_2 + 11 * X_3_1_3 + 22 * X_3_2_1 + 25 * X_3_2_2 + 26 * X_3_2_3 + 15 * X_4_1_1 + 18 * X_4_1_2 + 13 * X_4_1_3 + 20 * X_4_2_1 + 23 * X_4_2_2 + 24 * X_4_2_3 + 7500 ; [_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 >= - 400 ; END Example 7 – LP Solution Global optimal solution found. Objective value: Infeasibilities: Total solver iterations: Variable 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) 15500.00 0.000000 6 Value 4.000000 2.000000 3.000000 200.0000 100.0000 50.00000 500.0000 2000.000 1500.000 10.00000 15.00000 3000.000 4000.000 0.000000 0.000000 0.000000 1.000000 UPPER BOUND Reduced Cost 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 Example 7 – Dual MODEL: MAX = 200 * U_1 + 100 * U_2 + 50 * U_3 + 500 * U_4 + 100 * V_4 + 200 * V_5 + 100 * V_6 + 3600 * T_2 - 400 * 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); @BND( -0.1E+31, U_2, 0); @BND( -0.1E+31, U_3, 0); @BND( -0.1E+31, U_4, 0); @FREE( W_1); @FREE( W_2); @FREE( W_3); @BND( -0.1E+31, T_1, 0); @BND( -0.1E+31, T_2, 0); END Example 7 – Dual Solution Global optimal solution found. Objective value: Infeasibilities: Total solver iterations: Variable U_1 U_2 U_3 U_4 V_4 V_5 V_6 T_2 T_4 V_1 V_2 V_3 W_1 W_2 W_3 T_1 8000.000 + K=7500 =15,500 UPPER BOUND 0.000000 7 Value -4.000000 -2.000000 0.000000 0.000000 20.00000 23.00000 24.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 Reduced Cost 0.000000 0.000000 -50.00000 -400.0000 0.000000 0.000000 0.000000 -3600.000 400.0000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 Example 7 – Master Problem MODEL: [_1] MIN= Z; [_2] Z >= -1000 + 2000 * Y_2_1 + 4600 * Y_2_2 + 2400 * Y_2_3 + 2000 * Y_2_1 + 4600 * Y_2_2 + 2400 * Y_2_3 + 1000 * Y_1_1 + 2000 * Y_1_2 + 1000 * Y_1_3 + 1500 * Y_2_1 + 3000 * Y_2_2 + 1500 * Y_2_3 + 2000 * Z_1 + 1500 * Z_2 ; [_4] - 100 * Y_1_1 + X_1_1_1 + X_2_1_1 + X_3_1_1 + X_4_1_1 >= 0 ; [_5] - 200 * Y_1_2 + X_1_1_2 + X_2_1_2 + X_3_1_2 + X_4_1_2 >= 0 ; [_6] - 100 * Y_1_3 + X_1_1_3 + X_2_1_3 + X_3_1_3 + X_4_1_3 >= 0 ; [_7] - 100 * Y_2_1 + X_1_2_1 + X_2_2_1 + X_3_2_1 + X_4_2_1 >= 0 ; [_8] - 200 * Y_2_2 + X_1_2_2 + X_2_2_2 + X_3_2_2 + X_4_2_2 >= 0 ; [_9] - 100 * 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_1 + 200 * Y_1_2 + 100 * Y_1_3 - 3000 * Z_1 <= 0 ; [_14] 100 * Y_2_1 + 200 * Y_2_2 + 100 * Y_2_3 - 4000 * Z_2 <= 0 ; [_15] 100 * Y_1_1 + 200 * Y_1_2 + 100 * Y_1_3 >= 0 ; [_16] 100 * Y_2_1 + 200 * Y_2_2 + 100 * Y_2_3 >= 0 ; @BIN( Y_1_1); @BIN( Y_1_2); @BIN( Y_1_3); @BIN( Y_2_1); @BIN( Y_2_2); @BIN( Y_2_3); @BIN( Z_1); @BIN( Z_2); END Example 7 – Master Problem Solution Global optimal solution found. Objective value: Objective bound: Infeasibilities: Extended solver steps: Total solver iterations: Variable Z Y_2_1 Y_2_2 Y_2_3 Y_1_1 Y_1_2 Y_1_3 Z_1 Z_2 5000.000 5000.000 0.000000 0 5 Value 5000.000 0.000000 0.000000 0.000000 1.000000 1.000000 1.000000 1.000000 0.000000 LOWER BOUND Reduced Cost 0.000000 5500.000 12200.00 6300.000 1000.000 2000.000 1000.000 2000.000 1500.000 Example 7 – LP MODEL: [_1] MIN= 25 * X_1_1_1 + 28 * X_1_1_2 + 23 * X_1_1_3 + 16 * X_1_2_1 + 19 * X_1_2_2 + 20 * X_1_2_3 + 20 * X_2_1_1 + 23 * X_2_1_2 + 18 * X_2_1_3 + 18 * X_2_2_1 + 21 * X_2_2_2 + 22 * X_2_2_3 + 13 * X_3_1_1 + 16 * X_3_1_2 + 11 * X_3_1_3 + 22 * X_3_2_1 + 25 * X_3_2_2 + 26 * X_3_2_3 + 15 * X_4_1_1 + 18 * X_4_1_2 + 13 * X_4_1_3 + 20 * X_4_2_1 + 23 * X_4_2_2 + 24 * X_4_2_3 + 6000 ; [_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 >= - 400 ; [_18] 0 >= 0 ; END Example 7 – LP Solution Global optimal solution found. Objective value: Infeasibilities: Total solver iterations: Variable 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) 12300.00 0.000000 6 Value 4.000000 2.000000 3.000000 200.0000 100.0000 50.00000 500.0000 2000.000 1500.000 10.00000 15.00000 3000.000 4000.000 0.000000 0.000000 1.000000 0.000000 UPPER BOUND Reduced Cost 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 Example 7 – Dual MODEL: MAX = 200 * U_1 + 100 * U_2 + 50 * U_3 + 500 * U_4 + 100 * V_1 + 200 * V_2 + 100 * V_3 + 2600 * T_1 - 400 * 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); @BND( -0.1E+31,U_2, 0); @BND( -0.1E+31,U_3, 0); @BND( -0.1E+31,U_4, 0); @FREE( W_1); @FREE( W_2); @FREE( W_3); @BND( -0.1E+31, T_1, 0); @BND( -0.1E+31, T_2, 0); END Example 7 – Dual Solution Global optimal solution found. Objective value: Infeasibilities: Total solver iterations: Variable U_1 U_2 U_3 U_4 V_1 V_2 V_3 T_1 T_3 V_4 V_5 V_6 W_1 W_2 W_3 T_2 6300.000 + K = 6000 = 12300 UPPPER BOUND 0.000000 10 Value 0.000000 0.000000 -2.000000 0.000000 15.00000 18.00000 13.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 Reduced Cost -200.0000 -100.0000 0.000000 -150.0000 0.000000 0.000000 0.000000 -2600.000 400.0000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 Example 7 – Master Problem MODEL: [_1] MIN= Z; [_2] Z >= -1000 + 2000 * Y_2_1 + 4600 * Y_2_2 + 2400 * Y_2_3 + 1000 * Y_1_1 + 2000 * Y_1_2 + 1000 * Y_1_3 + 1500 * Y_2_1 + 3000 * Y_2_2 + 1500 * Y_2_3 + 2000 * Z_1 + 1500 * Z_2 ; [_3] Z >= -100 + 1500 * Y_1_1 + 3600 * Y_1_2 + 1300 * Y_1_3 + 1000 * Y_1_1 + 2000 * Y_1_2 + 1000 * Y_1_3 + 1500 * Y_2_1 + 3000 * Y_2_2 + 1500 * Y_2_3 + 2000 * Z_1 + 1500 * Z_2 ; [_4] - 100 * Y_1_1 + X_1_1_1 + X_2_1_1 + X_3_1_1 + X_4_1_1 >= 0 [_5] - 200 * Y_1_2 + X_1_1_2 + X_2_1_2 + X_3_1_2 + X_4_1_2 >= 0 [_6] - 100 * Y_1_3 + X_1_1_3 + X_2_1_3 + X_3_1_3 + X_4_1_3 >= 0 [_7] - 100 * Y_2_1 + X_1_2_1 + X_2_2_1 + X_3_2_1 + X_4_2_1 >= 0 [_8] - 200 * Y_2_2 + X_1_2_2 + X_2_2_2 + X_3_2_2 + X_4_2_2 >= 0 [_9] - 100 * 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_1 + 200 * Y_1_2 + 100 * Y_1_3 - 3000 * Z_1 <= 0 [_14] 100 * Y_2_1 + 200 * Y_2_2 + 100 * Y_2_3 - 4000 * Z_2 <= 0 [_15] 100 * Y_1_1 + 200 * Y_1_2 + 100 * Y_1_3 >= 0 ; [_16] 100 * Y_2_1 + 200 * Y_2_2 + 100 * Y_2_3 >= 0 ; @BIN( Y_1_1); @BIN( Y_1_2); @BIN( Y_1_3); @BIN( Y_2_1); @BIN( Y_2_2); @BIN( Y_2_3); @BIN( Z_1); @BIN( Z_2); END ; ; ; ; ; ; ; ; Example 7 – Master Problem Solution Global optimal solution found. Objective value: Objective bound: Infeasibilities: Extended solver steps: Total solver iterations: Variable Z Y_2_1 Y_2_2 Y_2_3 Y_1_1 Y_1_2 Y_1_3 Z_1 Z_2 12000.00 12000.00 0.000000 0 43 Value 12000.00 1.000000 0.000000 1.000000 0.000000 1.000000 0.000000 1.000000 1.000000 LOWER BOUND Reduced Cost 0.000000 1500.000 3000.000 1500.000 2500.000 5600.000 2300.000 2000.000 1500.000 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.