Facilities DesignFacilities DesignFacilities DesignFacilities Design
S.S. HeraguS.S. Heragu
Industrial Engineering DepartmentIndustrial Engineering Department
University of LouisvilleUniversity of Louisville
Chapter 12:Chapter 12:Advanced Location Advanced Location
ModelsModels
Chapter 12:Chapter 12:Advanced Location Advanced Location
ModelsModels
12.112.1 INTRODUCTIONINTRODUCTION12.212.2 LOCATION MODELSLOCATION MODELS
12.2.112.2.1 Multiple-Facility Problems with Multiple-Facility Problems with Rectilinear DistancesRectilinear Distances
12.2.212.2.2 Multiple-Facility Problems with Multiple-Facility Problems with Euclidean DistancesEuclidean Distances
12.312.3 ALLOCATION MODELSALLOCATION MODELS12.3.112.3.1 Network Flow ModelNetwork Flow Model12.3.212.3.2 Two-Stage Transportation ModelTwo-Stage Transportation Model12.3.312.3.3 Vehicle Routing ProblemVehicle Routing Problem
Chapter 12: Advanced Location Chapter 12: Advanced Location ModelsModelsChapter 12: Advanced Location Chapter 12: Advanced Location ModelsModels
12.412.4 LOCATION-ALLOCATION MODELSLOCATION-ALLOCATION MODELS
12.4.112.4.1 Set Covering ModelSet Covering Model
12.4.212.4.2 Uncapacitated Location-Allocation Uncapacitated Location-Allocation ModelModel
12.4.312.4.3 Comprehensive Location-Comprehensive Location-Allocation ModelAllocation Model
12.512.5 SUMMARYSUMMARY
Chapter 12: Advanced Location Chapter 12: Advanced Location ModelsModelsChapter 12: Advanced Location Chapter 12: Advanced Location ModelsModels
IntroductionIntroductionIntroductionIntroduction
- How many new facilities are to be located in How many new facilities are to be located in the distribution network consisting of the distribution network consisting of previously established facilities and previously established facilities and customers?customers?
- Where should they be located?Where should they be located?
- How large should each new facility be? In How large should each new facility be? In other words, what is the capacity of the new other words, what is the capacity of the new facility?facility?
IntroductionIntroductionIntroductionIntroduction
- How should customers be assigned to the How should customers be assigned to the new and existing facilities? More new and existing facilities? More specifically, which facilities should be specifically, which facilities should be serving each customer?serving each customer?
- Can more than one facility serve a customer?Can more than one facility serve a customer?
12.212.2LOCATIONLOCATION
MODELSMODELS
12.212.2LOCATIONLOCATION
MODELSMODELS
12.2.112.2.1Multiple-Facility ProblemsMultiple-Facility Problemswith Rectilinear Distanceswith Rectilinear Distances
12.2.112.2.1Multiple-Facility ProblemsMultiple-Facility Problemswith Rectilinear Distanceswith Rectilinear Distances
Model 1:Model 1:Model 1:Model 1:
Minimize c ij f ij[ | x i x j | | y i y j |]j 1
n
i1
n
dijgij[ | x i a j | | y i b j |]j 1
m
i1
n
Model 1:Model 1:Model 1:Model 1:
ijijji
ijijji
ji
jiijij
jijiij
xxxx
xxxx
xx
xxxxx
xxxxx
)(
and
0, or 0)( whether that,observecan We
otherwise 0
0 if )(
otherwise 0
0 if )(
Define
Model 1:Model 1:Model 1:Model 1:
A similar definition of A similar definition of yy++ijij, , yy--
ijij, , xaxa++ijij, , xaxa--
ijij, yb, yb++ijij, and , and
ybyb--ijij yields yields
||yyii - y - yjj| = | = yy++ijij + y + y--
ijij
yyii - y - yjj = = yy++ijij - y - y--
ijij
||xxii - a - ajj| = | = xaxa++ijij + xa + xa--
ijij
xxii - a - ajj = xa = xa++ijij - xa - xa--
ijij
|y|yii - b - bjj| = yb| = yb++ijij + yb + yb--
ijij
yyii - b - bjj = yb = yb++ijij - yb - yb--
ijij
Model 1:Model 1:Model 1:Model 1:
Thus, the transformed linear model is:Thus, the transformed linear model is:
n
i
m
j
ijijijijijij
n
i
n
j
ijijijijijij
ybybxaxagd
yyxxfc
1 1
1 1
Minimize
Model 1:Model 1:Model 1:Model 1:Subject to:Subject to:
(xi - xj) = x+ij - x-
ij(xi - xj) = x+ij - x-
ij
yi - yj = y+ij - y-
ijyi - yj = y+ij - y-
ij
xi - aj = xa+ij - xa-
ijxi - aj = xa+ij - xa-
ij
yi - bj = yb+ij - yb-
ijyi - bj = yb+ij - yb-
ij
xx++ijij, x, x--
ijij, y, y++ijij , y , y--
ijij >> 0, 0, ii, , jj = 1, 2, ..., = 1, 2, ...,nn
xaxa++ijij, xa, xa--
ijij, yb, yb++ijij , yb , yb--
ijij >> 0, 0, ii = 1, 2, ..., = 1, 2, ...,nn, , jj =1,2,..., =1,2,...,mm
xxii, , yyii unrestricted in sign, unrestricted in sign, ii = 1,2,..., = 1,2,...,nn
Model 1:Model 1:Model 1:Model 1:
• xxijij++ or or xxijij
--, but not both, can be greater than 0. , but not both, can be greater than 0.
(If both are, then the values of (If both are, then the values of xxijij++ and and xxijij
-- do do
not satisfy their definition in (2) and (3)). not satisfy their definition in (2) and (3)). Similarly, only one of (i) Similarly, only one of (i) yyijij
++, , yyijij--, (ii) , (ii) xxijij
++, , xaxaijij--, ,
(iii) (iii) ybybijij++, , ybybijij
--, must be greater than 0. , must be greater than 0.
• Model 1 can be simplified by noting that:Model 1 can be simplified by noting that:
• xxii can be substituted as can be substituted as aaii + + xxijij++ - - xaxaijij
--
• yyii may also be substituted similarly, resulting may also be substituted similarly, resulting
in a model with 2in a model with 2nn fewer constraints and fewer constraints and variables than model 1.variables than model 1.
Example 1:Example 1:Example 1:Example 1:
• Tires and Brakes, Inc., is an automobile Tires and Brakes, Inc., is an automobile service company specializing in tire and service company specializing in tire and brake replacement. It has four service brake replacement. It has four service centers in a metropolitan area and a centers in a metropolitan area and a warehouse that supplies tires, brakes and warehouse that supplies tires, brakes and other components to the service centers. other components to the service centers. The company manager has determined that The company manager has determined that he needs to add two more warehouses so as he needs to add two more warehouses so as to improve component delivery service. to improve component delivery service.
Example 1:Example 1:Example 1: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.
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:Example 1:Example 1: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.
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 W1SC1 SC2 SC3 SC4 W1
W2 7 7 5 4 2
W3 3 2 4 5 2
W2 7 7 5 4 2
W3 3 2 4 5 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
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:Example 1:Example 1:Example 1:
• 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
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
12.2.212.2.2Multiple-Facility ProblemsMultiple-Facility Problemswith Euclidean Distanceswith Euclidean Distances
12.2.212.2.2Multiple-Facility ProblemsMultiple-Facility Problemswith Euclidean Distanceswith Euclidean Distances
n
i
m
jjijiijij
n
i
n
jjijiijij
byaxgd
yyxxfc
1 1
22
1 1
22
)()(
)()( Minimize
Consider the following objective for the euclidean Consider the following objective for the euclidean distance problem.distance problem.
Multiple-Facility ProblemsMultiple-Facility Problemswith Euclidean Distanceswith Euclidean DistancesMultiple-Facility ProblemsMultiple-Facility Problemswith Euclidean Distanceswith Euclidean DistancesTaking the partial derivatives, we getTaking the partial derivatives, we get
ni
)b(y)a(x
)a(xgd
)y(y)x(x
)x(xfc
m
j jiji
jiijij
n
j jiji
jiijij
1,2,...,
,0 1
1
22
22
Multiple-Facility ProblemsMultiple-Facility Problemswith Euclidean Distanceswith Euclidean DistancesMultiple-Facility ProblemsMultiple-Facility Problemswith Euclidean Distanceswith Euclidean Distances
ni
)b(y)a(x
)b(ygd
)y(y)x(x
)y(yfc
m
j jiji
jiijij
n
j jiji
jiijij
1,2,...,
,0 1
1
22
22
Multiple-Facility ProblemsMultiple-Facility Problemswith Euclidean Distanceswith Euclidean DistancesMultiple-Facility ProblemsMultiple-Facility Problemswith Euclidean Distanceswith Euclidean Distances
To make sure the denominator is never 0, we add to it. We then get:To make sure the denominator is never 0, we add to it. We then get:
2 2 2 21 1
'
2 2 2 21 1
1, 2,...,
n mij ij j ij ij j
j ji j i j i j i j
i n mij ij ij ij
j ji j i j i j i j
c f x d g a
x x y y x a y bx i n
c f d g
x x y y x a y b
Multiple-Facility ProblemsMultiple-Facility Problemswith Euclidean Distanceswith Euclidean DistancesMultiple-Facility ProblemsMultiple-Facility Problemswith Euclidean Distanceswith Euclidean Distances
And …And …
2 2 2 21 1
'
2 2 2 21 1
1, 2,...,
n mij ij j ij ij j
j ji j i j i j i j
i n mij ij ij ij
j ji j i j i j i j
c f y d g b
x x y y x a y by i n
c f d g
x x y y x a y b
Example 2Example 2Example 2Example 2
Consider Example 1. Assuming the Euclidean Consider Example 1. Assuming the Euclidean metric is more appropriate and that Tire and metric is more appropriate and that Tire and Brakes, Inc. does not currently have a Brakes, Inc. does not currently have a warehouse, determine where the two new warehouse, determine where the two new warehouses are to be located.warehouses are to be located.
12.312.3ALLOCATIONALLOCATIONMODELMODEL
12.312.3ALLOCATIONALLOCATIONMODELMODEL
12.3.1 Network Flow Model12.3.1 Network Flow Model12.3.1 Network Flow Model12.3.1 Network Flow Model
Network Flow Model:Network Flow Model:Network Flow Model:Network Flow Model:Model 2Model 2
Consider this notation:Consider this notation:
ccijij cost of sending one unit of flow on arc (cost of sending one unit of flow on arc (ii, , jj))
UUijij upper bound on the flow that can be sent upper bound on the flow that can be sent
on arc (on arc (ii, , jj), i.e., capacity of arc (), i.e., capacity of arc (ii,,jj))
LLijij lower bound on the flow that can be sent lower bound on the flow that can be sent
on arc (on arc (ii, , jj))
DDii net flow generated at node net flow generated at node ii
xxijij number of units of flow on arc (number of units of flow on arc (ii, , jj))
Model 2:Model 2:Model 2:Model 2:
1 1
Minimize n n
ij iji j
c x
1 1
Subject to 1, 2,...,n n
ij ji ij i
x x D i n
, 1, 2,...,ij ij ijL x U i j n
Network Simplex Algorithm:Network Simplex Algorithm:Network Simplex Algorithm:Network Simplex Algorithm:Step 1:Step 1: Construct a spanning tree for the Construct a spanning tree for the nn nodes. The nodes. The
variables variables xxijij corresponding to the arcs ( corresponding to the arcs (ii,,jj) in the ) in the spanning tree are basic variables and the remaining are spanning tree are basic variables and the remaining are nonbasic. Find a basic feasible solution to the problem nonbasic. Find a basic feasible solution to the problem so that:so that:(1) the basic variables satisfy (1) the basic variables satisfy LLijij < < xxijij < < UUijij , and , and(2) the nonbasic variables take on a value of (2) the nonbasic variables take on a value of LLijij or or UUijij to to satisfy constraint (22).satisfy constraint (22).
Step 2:Step 2: Set Set uu11 =0 and find =0 and find uujj, , jj=2,...,=2,...,nn using the formula using the formula uuii - - uujj = = ccijij for all basic variables. for all basic variables.
Step 3:Step 3: If If uuii - - uujj - - ccijij << 0 for all nonbasic variables 0 for all nonbasic variables xxijij with a value with a value of of LLijij , and , and uuii - - uujj - - ccijij >> 0 for all nonbasic variables 0 for all nonbasic variables xxijij with with a value of a value of UUijij , then the current basic feasible solution is , then the current basic feasible solution is optimal; stop. Otherwise, go to step 4.optimal; stop. Otherwise, go to step 4.
Network Simplex Algorithm:Network Simplex Algorithm:Network Simplex Algorithm:Network Simplex Algorithm:Step 4:Step 4: Select the variable Select the variable xxi*j*i*j* that violates the optimality that violates the optimality
condition (in step 3) the most, i.e., the largest of the condition (in step 3) the most, i.e., the largest of the uuii - - uujj - - ccijij for those nonbasic variables with for those nonbasic variables with xxijij = = LLijij, , and the smallest of the and the smallest of the uuii - - uujj - - ccijij for those nonbasic for those nonbasic variables with variables with xxijij = = UUijij,. Make the arc (,. Make the arc (ii*,*,jj*) a basic *) a basic variable and add arc (variable and add arc (ii*,*,jj*) to the spanning tree. Make *) to the spanning tree. Make one of the other basic variables in the loop of basic one of the other basic variables in the loop of basic variables [formed by including arc (variables [formed by including arc (ii*,*,jj*)], a nonbasic *)], a nonbasic variable such that:variable such that:(1) (1) xxi*j*i*j* takes on the largest possible value, takes on the largest possible value,(2) constraint (21) is satisfied for all the (2) constraint (21) is satisfied for all the nn nodes, and nodes, and(3) constraint (22) is satisfied for all the arcs in the (3) constraint (22) is satisfied for all the arcs in the loop.loop.Remove the arc corresponding to the nonbasic Remove the arc corresponding to the nonbasic variable just identified so that we have a spanning variable just identified so that we have a spanning tree once again. Go to step 2. tree once again. Go to step 2.
Example 3Example 3Example 3Example 3The Fast Shipping Company manages the The Fast Shipping Company manages the distribution of lawnmowers from a company distribution of lawnmowers from a company that has two factories (that has two factories (FF1 and 1 and FF2) in the 2) in the Northeast to two large customer bases (Northeast to two large customer bases (CC1 and 1 and CC2) in the Southwest. For cost and freight 2) in the Southwest. For cost and freight consolidation reasons, Fast Shipping would consolidation reasons, Fast Shipping would like to route the shipments via three like to route the shipments via three intermediate nodes (intermediate nodes (TT1 - 1 - TT3) located in the 3) located in the midwest. The relevant data is provide in Tables midwest. The relevant data is provide in Tables 12.3-12.5. Setup a model to determine how the 12.3-12.5. Setup a model to determine how the shipment is to take place from the two factories shipment is to take place from the two factories to the two destinations via the three to the two destinations via the three intermediate shipment points. intermediate shipment points.
Supply and DemandSupply and DemandSupply and DemandSupply and Demand
Facility Supply Demand
F1 900 -
F2 600 -
C1 - 750
C2 - 750
Inbound and Outbound Transportation Inbound and Outbound Transportation Costs and Arc CapacitiesCosts and Arc CapacitiesInbound and Outbound Transportation Inbound and Outbound Transportation Costs and Arc CapacitiesCosts 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:Example 3:Example 3: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 Y32MIN 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) X13 <= 350
12) X21 <= 1200
13) X22 <= 750
14) X23 <= 450
15) Y11 <= 1000
16) Y21 <= 750
17) Y31 <= 1000
18) Y12 <= 150
19) Y22 <= 200
20) Y32 <= 1500
END
11
22
1
2
3
p
1
2
3
4
r
12.3.2 Two-Stage Transportation 12.3.2 Two-Stage Transportation ModelModel12.3.2 Two-Stage Transportation 12.3.2 Two-Stage Transportation ModelModel
Two-Stage Transportation Model:Two-Stage Transportation Model:Two-Stage Transportation Model:Two-Stage Transportation Model:
Consider the following notation:Consider the following notation:
SSii capacity of supply source capacity of supply source ii, , ii = 1, 2, ..., = 1, 2, ..., pp
PPjj capacity of plant capacity of plant jj, , jj = 1, 2, ..., = 1, 2, ..., qq
DDkk demand at customer demand at customer kk, , kk = 1, 2, ..., = 1, 2, ..., rr
ccijij cost of transporting one unit from supply cost of transporting one unit from supply
source source ii to plant to plant jj
The LP model is:The LP model is:
Model 3:Model 3:Model 3:Model 3:
1
Subject to 1, 2,...,q
ij ij
x S i p
1
1, 2,...,p
ij ji
x P j q
1
1, 2,...,q
jk kj
y D k r
1 1
1, 2,...,p r
ij jki k
x y j q
, 1, 2,..., ; 1, 2,..., ; 1, 2,...,ij jkx y i p j q k r
q
j
r
kjkjk
p
i
q
jijij ydxc
1 11 1
Minimize
Four cases arise:Four cases arise:Four cases arise:Four cases arise:
(i)(i) Supply source capacity is unlimited and total plant Supply source capacity is unlimited and total plant capacity is more than total demandcapacity is more than total demand
(ii)(ii)Supply source capacity is unlimited and total demand Supply source capacity is unlimited and total demand exceeds total plant capacityexceeds total plant capacity
(iii)(iii)Plant capacity is unlimited and total supply source Plant capacity is unlimited and total supply source capacity exceeds total demandcapacity exceeds total demand
(iv)(iv)Plant capacity is unlimited and total demand exceeds total Plant capacity is unlimited and total demand exceeds total supply source capacitysupply source capacity
In the following discussion, the supply sources are In the following discussion, the supply sources are assumed to have unlimited capacities and total assumed to have unlimited capacities and total plant capacity is more than total demand (case plant capacity is more than total demand (case (i))(i))
Case 1:Case 1:Case 1:Case 1:Customer Dummy Plant Supply
Source Plant
1 2 r 1 2
q
Excess Plant
Capacity
Capacity
1 c111 c112 c11r 0 M
M 0 P1
2 c121 c122 c12r M 0
M 0 P2
1
q c1q1 c1q2 c1qr M M
0 0 Pq
1 c211 c212 c21r 0 M
M 0 P1
2 c221 c222 c22r M 0
M 0 P2
2
q c2q1 c2q2 c2qr M M
0 0 Pq
1 cp11 cp1r 0 M
M 0 P1
p 2 cp21 cp22 cp2r M 0
M 0 P2
q cpq1 cpq2 cpqr M M 0 0 Pq
Demand D1 D2 Dr (p 1)P1 (p 1)P2
(p 1)Pq
r
kk
q
jj DP
11
1
q
jj
p P
Example 4:Example 4:Example 4:Example 4:
2-Stage Distribution Problem: RIFIN Company has 2-Stage Distribution Problem: RIFIN Company has recently developed a new method of recently developed a new method of manufacturing a type of chemical. It involves manufacturing a type of chemical. It involves refining a certain raw material which can be refining a certain raw material which can be obtained from four overseas suppliers A, B, C, D obtained from four overseas suppliers A, B, C, D who have access to the four ports at Vancouver, who have access to the four ports at Vancouver, Boston, Miami, and San Francisco, respectively. Boston, Miami, and San Francisco, respectively. RIFIN wants to determine the location of plants at RIFIN wants to determine the location of plants at which the chemical will be refined. The chemical, which the chemical will be refined. The chemical, once refined, will be transported via trucks to five once refined, will be transported via trucks to five outlets located at Dallas, Phoenix, Portland, outlets located at Dallas, Phoenix, Portland, Montreal and Orlando. Montreal and Orlando.
Example 4:Example 4:Example 4:Example 4:
After an initial study, the choice of location After an initial study, the choice of location for RIFIN’s refineries has narrowed down to for RIFIN’s refineries has narrowed down to Denver, Atlanta and Pittsburgh. Assume that Denver, Atlanta and Pittsburgh. Assume that one unit of raw material is required to make one unit of raw material is required to make one unit of chemical. The amount of raw one unit of chemical. The amount of raw material from each potential refinery as well material from each potential refinery as well as the cost of trucking the chemical to outlets as the cost of trucking the chemical to outlets are also provided below. Determine the are also provided below. Determine the location of RIFIN’s refining plants, capacities location of RIFIN’s refining plants, capacities at these plants and distribution pattern for at these plants and distribution pattern for the raw material and processed chemical.the raw material and processed chemical.
Example 4:Example 4:Example 4:Example 4:
Raw Material Source Supply Outlet DemandRaw Material Source Supply Outlet Demand
A 1000 Dallas 900
B 800 Phoenix 800
C 800 Portland 600
D 700 Montreal 500
Orlando 500
A 1000 Dallas 900
B 800 Phoenix 800
C 800 Portland 600
D 700 Montreal 500
Orlando 500
Example 4:Example 4:Example 4:Example 4:
TO Denver Atlanta PittsburghTO Denver Atlanta Pittsburgh
FROM
Vancouver 4 13 9
Boston 8 8 5
Miami 12 2 9
San Francisco 11 11 12
FROM
Vancouver 4 13 9
Boston 8 8 5
Miami 12 2 9
San Francisco 11 11 12
Raw Material Transportation CostRaw Material Transportation Cost
Example 4:Example 4:Example 4:Example 4:
TO Dallas Phoenix Portland Montreal OrlandoTO Dallas Phoenix Portland Montreal Orlando
FROM
Den. 28 26 12 30 30
Atla. 10 22 23 29 8
Pitts. 18 21 23 18 21
FROM
Den. 28 26 12 30 30
Atla. 10 22 23 29 8
Pitts. 18 21 23 18 21
Chemical Trucking CostChemical Trucking Cost
Figure 12.3: Pictorial representation of Figure 12.3: Pictorial representation of RIFIN ExampleRIFIN ExampleFigure 12.3: Pictorial representation of Figure 12.3: Pictorial representation of RIFIN ExampleRIFIN Example
DD
AA
PP
V
B
M
SF
Da
Ph
Po
Mo
Orl
Setup transportation tableau for Setup transportation tableau for Example 4Example 4Setup transportation tableau for Setup transportation tableau for Example 4Example 4
Customer Dummy Source Supply Source
Refinery
Dal Ph Port Mont Orl Van Bos Miami SanFr
Capacity
Denver 32 30 16 34 34 0 M M M 1000
Atlanta 23 35 36 42 41 0 M M M 1000 Vancouver (A)
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 Boston (B)
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 Miami (C)
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
San Francisco (D)
Pittsburgh 30 33 35 30 33 M M M 0 700
Demand 900 800 600 500 500 2000 1600 1600 1400 9900
Solution:Solution:Solution:Solution:
The transportation problem may be solved to The transportation problem may be solved to yield the solution indicated in the following yield the solution indicated in the following figure. Notice that the solution indicates that figure. Notice that the solution indicates that refineries be built at all locations.refineries be built at all locations.
Figure 12.4:Figure 12.4:Figure 12.4:Figure 12.4:
DD
AA
PP
V
B
M
SF
Da
Ph
Po
Mo
Orl
1000
1000
800
600
100
900
400
600400
500
500
12.3.3 Vehicle Routing Problem12.3.3 Vehicle Routing Problem12.3.3 Vehicle Routing Problem12.3.3 Vehicle Routing Problem
Determine the number of vehicles required to:Determine the number of vehicles required to:
(1)(1)serve its customers (pick-up or deliver serve its customers (pick-up or deliver parcels) so that each customer is visited parcels) so that each customer is visited once and only once per dayonce and only once per day
(2)(2)the vehicle capacity is not exceeded, andthe vehicle capacity is not exceeded, and
(3)(3)the total travel time is minimizedthe total travel time is minimized
Vehicle Routing Problem:Vehicle Routing Problem:Vehicle Routing Problem:Vehicle Routing Problem:
TTijij time to travel from customer time to travel from customer ii to to
customer customer jj, , ii,,jj=1,2, …, =1,2, …, nn
DDii demand at customer demand at customer ii, , ii=1,2, …, =1,2, …, nn
CCkk capacity of vehicle capacity of vehicle kk, , kk=1,2, …, =1,2, …, pp
1 if truck visits customer after visiting customer
0 otherwise ijk
k j ix
Model 4:Model 4:Model 4:Model 4:
1 1 1
Minimize p n n
ij ijkk i j
T x
1 1
Subject to 1 1, 2,..., p n
ijkk i
x j n
1 1
1 1, 2,..., p n
ijkk j
x i n
1 1
1, 2,..., n n
i ijk ki j
D x C k p
1 1
0 1, 2,..., ; 1, 2,..., n n
ilk ljki j
x x l n k p
0 or 1 , 1, 2,..., ; 1, 2,..., ijkx i j n k p
12.412.4LOCATION-ALLOCATIONLOCATION-ALLOCATIONMODELSMODELS
12.412.4LOCATION-ALLOCATIONLOCATION-ALLOCATIONMODELSMODELS
12.4.112.4.1Set Set Covering Covering ModelModel
12.4.112.4.1Set Set Covering Covering ModelModel
Set Covering ModelSet Covering ModelSet Covering ModelSet Covering ModelDefine:Define:
ccjj cost of locating facility at site cost of locating facility at site jj
aaijij ==
xxjj ==
The set covering problem is to:The set covering problem is to:
{{1 if facility located at site
j can cover customer i1 if facility located at site
j can cover customer i0 Otherwise0 Otherwise
{{ 1 if facility is located at site j1 if facility is located at site j
0 Otherwise0 Otherwise
Model 5:Model 5:Model 5:Model 5:
1
Minimize n
j jj
c x
0 or 1 1, 2,...,jx j n
mixan
jjij ,...,2,1 1 Subject to
1
Greedy Heuristic for Set Covering Greedy Heuristic for Set Covering Problem:Problem:Greedy Heuristic for Set Covering Greedy Heuristic for Set Covering Problem:Problem:Step 1:Step 1: If If ccjj = 0, for any = 0, for any jj = 1, 2, ..., = 1, 2, ..., nn, set , set xxjj = 1 and remove = 1 and remove
all constraints in which all constraints in which xxjj appears with a appears with a
coefficient of +1.coefficient of +1.
Step 2:Step 2: If If ccjj > 0, for any > 0, for any jj = 1, 2, ..., = 1, 2, ..., nn and and xxjj does not does not
appear with +1 coefficient in any of the remaining appear with +1 coefficient in any of the remaining constraints, set constraints, set xxjj = 0. = 0.
Step 3:Step 3: For each of the remaining variables, determine For each of the remaining variables, determine ccjj//ddjj, where , where ddjj is the number of constraints in is the number of constraints in
which which xxjj appears with +1 coefficient. Select the appears with +1 coefficient. Select the
variable variable kk for which for which cckk//ddkk is minimum, set is minimum, set xxkk = 1 = 1
and remove all constraints in which and remove all constraints in which xxjj appears appears
with +1 coefficient. Examine the resulting model.with +1 coefficient. Examine the resulting model.
Greedy Heuristic for Set Covering Greedy Heuristic for Set Covering Problem:Problem:Greedy Heuristic for Set Covering Greedy Heuristic for Set Covering Problem:Problem:
Step 4Step 4 If there are no more constraints, set all If there are no more constraints, set all the remaining variables to 0 and stop. the remaining variables to 0 and stop. Otherwise go to step 1.Otherwise go to step 1.
We illustrate the above greedy heuristic We illustrate the above greedy heuristic with an example.with an example.
Example 5:Example 5:Example 5:Example 5:
A rural country administration wants to locate A rural country administration wants to locate several medical emergency response units so several medical emergency response units so that it can respond to calls within the county that it can respond to calls within the county within eight minutes of the call. The county is within eight minutes of the call. The county is divided into seven population zones. The divided into seven population zones. The distance between the centers of each pair of distance between the centers of each pair of zones is known and is given in the matrix zones is known and is given in the matrix below.below.
Figure 12.5:Figure 12.5:Figure 12.5:Figure 12.5:
11 22 33 44 55 66 77
11 00 44 1212 66 1515 1010 88
22 88 00 1515 6060 77 22 33
33 5050 1313 00 88 66 55 99
44 99 1111 88 00 99 1010 33
55 5050 88 44 1010 00 22 2727
66 3030 55 77 99 33 00 2727
77 88 55 99 77 2525 2727 00
[dij] =[dij] =
Example 5:Example 5:Example 5:Example 5:
The response units can be located in the center The response units can be located in the center of population zones 1 through 7 at a cost (in of population zones 1 through 7 at a cost (in hundreds of thousands of dollars) of 100, 80, hundreds of thousands of dollars) of 100, 80, 120 110, 90, 90, and 110 respectively. 120 110, 90, 90, and 110 respectively. Assuming the average travel speed during an Assuming the average travel speed during an emergency to be 60 miles per hour, formulate emergency to be 60 miles per hour, formulate an appropriate set covering model to determine an appropriate set covering model to determine where the units are to be located and how the where the units are to be located and how the population zones are to be covered and solve population zones are to be covered and solve the model using the greedy heuristic.the model using the greedy heuristic.
Solution:Solution:Solution:Solution:
and noting that and noting that ddijij > 8, > 8, ddijij << 8 would yield 8 would yield aaijij
values of 0, 1, respectively the following [values of 0, 1, respectively the following [aaijij] ]
matrix can be set up.matrix can be set up.
DefiningDefining
aij =aij = {{1 if zone i’s center can be reached from
center of zone j within 8 minutes1 if zone i’s center can be reached from
center of zone j within 8 minutes
0 otherwise0 otherwise
Solution:Solution:Solution:Solution:
1 2 3 4 5 6 7
1 1 1 0 1 0 0 1
2 1 1 0 0 1 1 1
3 0 0 1 1 1 1 0
4 0 0 1 1 0 0 1
5 0 1 1 0 1 1 0
6 0 1 1 0 1 1 0
7 1 1 0 1 0 0 1
1 2 3 4 5 6 7
1 1 1 0 1 0 0 1
2 1 1 0 0 1 1 1
3 0 0 1 1 1 1 0
4 0 0 1 1 0 0 1
5 0 1 1 0 1 1 0
6 0 1 1 0 1 1 0
7 1 1 0 1 0 0 1
[aij] =[aij] =
The corresponding set covering model is:The corresponding set covering model is:
Solution:Solution:Solution: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
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 HeuristicGreedy HeuristicGreedy HeuristicGreedy Heuristic
Step 1: Since each Step 1: Since each ccjj > 0, > 0, jj = 1, 2, ..., 7, go to = 1, 2, ..., 7, go to
step 2.step 2.
Step 2: Since Step 2: Since xxjj appears in each constraint with appears in each constraint with
+1 coefficient, go to step 3.+1 coefficient, go to step 3.
Step 3:Step 3:
3 51 2 4
1 2 3 4 5
100 80 120 110 9033.3; 16; 30; 27.5; 22.5;
3 5 4 4 4
c cc c c
d d d d d
6 7
6 7
90 11022.5; 27.5
4 4
c c
d d
Solution:Solution:Solution: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
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:Greedy Heuristic:Greedy Heuristic:Greedy Heuristic:
Step 4: Since we have two constraints go to Step 4: Since we have two constraints go to step 1.step 1.
Step 1: Since Step 1: Since cc11 > 0, j = 1, 3, 4, ..., 7, go to step > 0, j = 1, 3, 4, ..., 7, go to step
22
Step 2: Since Step 2: Since cc11 > 0 and > 0 and xx11 does not appear in does not appear in
any of the constraints with +1 any of the constraints with +1 coefficient, set coefficient, set xx1 1 = 0.= 0.
Greedy HeuristicGreedy HeuristicGreedy HeuristicGreedy 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:Greedy Heuristic:Greedy Heuristic:Greedy Heuristic:
Step 4:Step 4: Since there are no constraints in the Since there are no constraints in the above model, set above model, set xx33 = = xx55 = = xx66 = = xx77 = 0 = 0
and stop.and stop.
The solution is The solution is xx22 = = xx44 = 1; = 1; xx11 = = xx33 = = xx55
= = xx66 = = xx77 = 0. Cost of locating = 0. Cost of locating
emergency response units to meet emergency response units to meet the eight minute response service the eight minute response service level is $800,000 + $1,100,000 = level is $800,000 + $1,100,000 = $1,900,000.$1,900,000.
12.4.212.4.2Uncapacitated Uncapacitated Location-Allocation Location-Allocation ModelModel
12.4.212.4.2Uncapacitated Uncapacitated Location-Allocation Location-Allocation ModelModel
Uncapacitated Location-Allocation Uncapacitated Location-Allocation ModelModelUncapacitated Location-Allocation Uncapacitated Location-Allocation ModelModel
ParametersParameters
mm number of potential facilities number of potential facilities
nn number of customers number of customers
ccijij cost of transporting one unit of product cost of transporting one unit of product
from facility from facility ii to customer to customer jj
FFii fixed cost of opening and operating facility fixed cost of opening and operating facility jj
DDjj number of units demanded at customer number of units demanded at customer jj
Decision VariablesDecision Variables
xxijij number of units shipped from facility number of units shipped from facility ii to customer to customer jj 1 if facility is opened
0 otherwisei
iy
Model 6Model 6Model 6Model 6
1 1 1
Minimize m m n
i i ij iji i j
F y c x
1
Subject to 1, 2,..., m
ij ji
x D j n
1 1
1, 2,...,n n
ij i jj j
x y D i m
0 1, 2,..., ; 1, 2,...,ijx i m j n
0 or 1 1, 2,...,iy i m
Model 7Model 7Model 7Model 7
Modify Model 6 by transforming xij variables and the cij parameter
' ' 1, 2,..., ; 1, 2,...,ijij ij ij j
j
xx c c D i m j n
D
' '
1 1 1
Minimize m m n
i i ij iji i j
F y c x
'
1
Subject to 1 1, 2,..., m
iji
x j n
'
1
1, 2,...,n
ij ij
x ny i m
' 0 1, 2,..., ; 1, 2,...,ijx i m j n
0 or 1 1, 2,...,iy i m
Is Model 7 equivalent to Model 6?Is Model 7 equivalent to Model 6?Is Model 7 equivalent to Model 6?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 , each term must also
be be < yi
Because Dj/ΣDj is a positive fraction for each j:
x’ij < yi, j=1,2,…,n
Adding we getAdding we get
'
1 1
1, 2,...,n n
ij j i jj j
x D y D i m
'
1
1
1 1,2,...,
n
ij j inj
jj
x D y i mD
'
1
1, 2,...,ij jin
jj
x Dy i m
D
'
1
1, 2,...,n
ij ij
x ny i m
On solving Model 7On solving Model 7On solving Model 7On solving Model 7Although 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
On solving Model 7On solving Model 7On solving Model 7On solving Model 7The central idea of the branch-and-bound algorithm is
based on the following resultSuppose, 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 8Rewrite Model 7 as Model 8Rewrite Model 7 as Model 8Rewrite Model 7 as Model 8
1 1 2 21 1
Minimize n m n
i ij ij i i ij iji S i S j i S i S j
F c x F y c x
1
Subject to 1 1, 2,..., m
iji
x j n
1
1, 2,...,n
ij ij
x ny i m
0 1, 2,..., ; 1, 2,...,ijx i m j n
NoteNote: The inequality in the second constraint above can be : The inequality in the second constraint above can be converted to an equality because in the optimal solution LHS will be converted to an equality because in the optimal solution LHS will be equal to RHS. Thus, equal to RHS. Thus,
Because max {Because max {xxijij} is 1, max {} is 1, max {yyii} is also 1 } is also 1
1
1 1, 2,...,
n
i ijj
y x i mn
Rewrite Model 8 as Model 9Rewrite Model 8 as Model 9Rewrite Model 8 as Model 9Rewrite Model 8 as Model 9
1
Subject to 1 1, 2,..., m
iji
x j n
0 1, 2,..., ; 1, 2,...,ijx i m j n
1 1 2 21 1 1
Minimize n n m n
iji ij ij i ij ij
i S i S j i S j i S j
xF c x F c x
n
1 1 21 1
Minimize n n
ii ij ij i ij ij
i S i S j i S j
FF c x F c x
n
minyx i
n
jij ,...,2,1 ,
1
On solution of Model 9On solution of Model 9On solution of Model 9On solution of Model 9• Model 9 which is equivalent to model 6 without the Model 9 which is equivalent to model 6 without the
integer restrictions on the integer restrictions on the yy variables, is a half variables, is a half assignment problem. It can be proved (again, by assignment problem. It can be proved (again, by contradiction) that for each contradiction) that for each jj = 1, 2, ..., = 1, 2, ..., nn, only one of , only one of xx11jj, , xx22jj, ..., , ..., xxmjmj will take on a value of 1, due to will take on a value of 1, due to Σxij=1
• In fact, for each j, the xxijij 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 xxijij in the objective function, i=1,2,…,m, set the corresponding xxijij equal to 1 and all other xxijij 's to 0 as follows:
1
2
if
if
ij
iij
c i S
Fc i S
n
On solution of Model 9On solution of Model 9On solution of Model 9On solution of Model 9• Select the smallest Select the smallest ccijij from the list, set the from the list, set the
corresponding corresponding xxijij = 1 and all other = 1 and all other xxijij’s to 0. ’s to 0. This is the minimum coefficient rule.This is the minimum coefficient rule.
• We do not include facility We do not include facility ii SS22 in the min in the min coeff rule because these are closedcoeff rule because these are closed
• Moreover, a lower bound on the partial Moreover, a lower bound on the partial solution of the node under consideration can solution of the node under consideration can be obtained by addingbe obtained by adding
tto the sum of the coefficients of the o the sum of the coefficients of the xxijij variables which have taken a value of 1variables which have taken a value of 1
1
ii S
F
Branch-and-BoundBranch-and-BoundAlgorithm Algorithm forforBasicBasicLocation-AllocationLocation-AllocationModelModel
Branch-and-BoundBranch-and-BoundAlgorithm Algorithm forforBasicBasicLocation-AllocationLocation-AllocationModelModel
1
1 1, 2,...,
n
i ijj
y x i mn
Branch-and-BoundBranch-and-BoundBranch-and-BoundBranch-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
Branch-and-BoundBranch-and-BoundBranch-and-BoundBranch-and-Bound
Step 4: If the solution is such that all y Step 4: If the solution is such that all y variables take on integer (0 or 1) values, go variables take on integer (0 or 1) values, go to step 7. Otherwise go to step 5.to step 7. Otherwise go to step 5.
Step 5: Determine the lower bound of node p Step 5: Determine the lower bound of node p using model 7. Arbitrarily select one of the using model 7. Arbitrarily select one of the facilities, say facilities, say kk, which has taken on a , which has taken on a fractional value for fractional value for yykk, i.e., 0 < , i.e., 0 < yykk < 1 and < 1 and
create two subproblems (nodes) create two subproblems (nodes) pp+1 and +1 and pp+2 +2 as follows.as follows.
Branch-and-BoundBranch-and-BoundBranch-and-BoundBranch-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-BoundBranch-and-BoundBranch-and-BoundBranch-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.
1
1 1, 2,...,
n
i ijj
y x i mn
Example 6Example 6Example 6Example 6
The nation’s leading retailer Sam-Mart wants to The nation’s leading retailer Sam-Mart wants to establish its presence in the Northeast by opening five establish its presence in the Northeast by opening five department stores. In order to serve the stores department stores. In order to serve the stores (whose locations have already been determined), the (whose locations have already been determined), the retailer wants to have a maximum of three distribution retailer wants to have a maximum of three distribution warehouses. The potential locations for these warehouses. The potential locations for these warehouses have already been selected and there are warehouses have already been selected and there are no practical limits on the size of the warehouses. The no practical limits on the size of the warehouses. The fixed cost (in hundreds of thousands of dollars) of fixed cost (in hundreds of thousands of dollars) of building and operating the warehouse at each location building and operating the warehouse at each location is 6, 5, and 3, respectively.is 6, 5, and 3, respectively.
Example 6Example 6Example 6Example 6
The variable cost of serving each warehouse The variable cost of serving each warehouse from each of the potential warehouse locations from each of the potential warehouse locations is given below (again in hundreds of thousands is given below (again in hundreds of thousands of dollars). Determine how many warehouses of dollars). Determine how many warehouses are to be built and in what locations. Also are to be built and in what locations. Also determine how the customers (departmental determine how the customers (departmental stores) are to be served.stores) are to be served.
Example 6Example 6Example 6Example 6
11 22 33 44 5 F5 Fii
20 12 14 12 10 6
15 10 20 8 15 5
12 16 25 11 10 3
20 12 14 12 10 6
15 10 20 8 15 5
12 16 25 11 10 3
1
2
3
1
2
3
Solution:Solution:Solution:Solution:Step 1: Set UB = infinity; node counter Step 1: Set UB = infinity; node counter pp = 1; = 1; SS00 = = SS11 = { = {}; }; SS22 = =
{1, 2, 3}.{1, 2, 3}.
Step 2: Minimum coefficient rule: Determine the Step 2: Minimum coefficient rule: Determine the xxijij coefficients coefficients
as follows.as follows.
Solution:Solution:Solution:Solution:
Since the minimum occurs for cij = c31, set x31 = 1 and x11 = x21 = 0.
Since the minimum occurs for cij = c31, set x31 = 1 and x11 = x21 = 0.
=21=21c11=20+c11=20+66
55
11
55; c21=15+; c21=15+ =16=16
55
55 ; c31=12+ ; c31=12+
33
55 = 12 = 12
33
55
=13=13c12=12+c12=12+66
55
11
55; c22=10+; c22=10+ =11=11
55
55; c32=16+; c32=16+
33
55
Since the minimum occurs for cij = c22, set x22 = 1 and x12 = x32 = 0.
Since the minimum occurs for cij = c22, set x22 = 1 and x12 = x32 = 0.
= 16= 1633
55
Solution:Solution:Solution:Solution:
=15=15c13=14+c13=14+66
55
11
55; c23=20+; c23=20+ =21=21
55
55; c32=25+; c32=25+
33
55
Since the minimum occurs for cij = c13, set x13 = 1 and x23 = x33 = 0.
Since the minimum occurs for cij = c13, set x13 = 1 and x23 = x33 = 0.
= 25= 2533
55
=13=13c14=12+c14=12+66
55
11
55; c24= 8+; c24= 8+ = 9= 9
55
55; c34=11+; c34=11+
33
55
Since the minimum occurs for cij = c24, set x24 = 1 and x14 = x34 = 0.
Since the minimum occurs for cij = c24, set x24 = 1 and x14 = x34 = 0.
= 11= 1133
55
Solution:Solution:Solution:Solution:
=11=11c15=10+c15=10+66
55
11
55; c25=15+; c25=15+ =16=16
55
55; c35=10+; c35=10+
33
55
Since the minimum occurs for cij = c35, set x35 = 1 and x15 = x25 = 0.
Since the minimum occurs for cij = c35, set x35 = 1 and x15 = x25 = 0.
= 10= 1033
55
Solution:Solution:Solution:Solution:
[x11+x12+x13+x14+x15]=[x11+x12+x13+x14+x15]=y1=y1=11
55[0+0+1+0+0]=[0+0+1+0+0]=
11
55
11
55
[x21+x22+x23+x24+x25]=[x21+x22+x23+x24+x25]=y2=y2=11
55[0+1+0+1+0]=[0+1+0+1+0]=
11
55
22
55
[x31+x32+x33+x34+x35]=[x31+x32+x33+x34+x35]=y3=y3=11
55[1+0+0+0+1]=[1+0+0+0+1]=
11
55
22
55
Solution:Solution:Solution:Solution:
Step 4: Since all three y variables have Step 4: Since all three y variables have fractional values, go to Step 5.fractional values, go to Step 5.
Solution:Solution:Solution:Solution:
Step 5: Lower bound of node 1 =Step 5: Lower bound of node 1 =
0 + 12 0 + 1233
55
11
55+ 11 + 15+ 11 + 15
33
55+ 9 + 10+ 9 + 10
22
55= 58= 58
Arbitrarily select variable yArbitrarily select variable y11 to branch on. to branch on.
Create subproblems 2 and 3 as followsCreate subproblems 2 and 3 as follows
Subproblem 2: SSubproblem 2: S00 = {1}; S = {1}; S11 = { = {}; S}; S22 = {2, 3}. = {2, 3}.
Subproblem 3: SSubproblem 3: S00 = {1}; S = {1}; S11 = { = {}; S}; S22 = {2, 3}. = {2, 3}.
Solution:Solution:Solution:Solution:
Step 6: Solution of subproblem 2 using Step 6: Solution of subproblem 2 using minimum coefficient rule: Determine xminimum coefficient rule: Determine xijij
coefficients as follows. coefficients as follows.
Solution:Solution:
Since the minimum occurs for cij = c31, set x31 = 1, x21 = 0.
Since the minimum occurs for cij = c31, set x31 = 1, x21 = 0.
=16=16=16=16c21=15+c21=15+5555
5555; ; c31=12++; ; c31=12++ =12=12
33
55
3333
5555
Since the minimum occurs for cij = c22, set x22 = 1, x32 = 0.
Since the minimum occurs for cij = c22, set x22 = 1, x32 = 0.
=11=11=11=11cc2222=10+=10+cc2222=10+=10+55
5555; c; c3232=16+=16+; c; c3232=16+=16+ =16=16=16=16
3333
5555
3333
5555
Solution:Solution:Solution:Solution:
Since the minimum occurs for cij = c24, set x24 = 1, x34 = 0.
Since the minimum occurs for cij = c24, set x24 = 1, x34 = 0.
= 9= 9c24=8 +c24=8 +55
55; c34=11+; c34=11+ =11=11
33
55
33
55
Since the minimum occurs for cij = c23, set x23 = 1, x33 = 0.
Since the minimum occurs for cij = c23, set x23 = 1, x33 = 0.
=21=21c23=20+c23=20+55
55; c33=25+; c33=25+ =25=25
33
55
33
55
Solution:Solution:Solution:Solution:
Since the minimum occurs for cij = c35, set x35 = 1, x25 = 0.
Since the minimum occurs for cij = c35, set x35 = 1, x25 = 0.
=16=16c24=15+c24=15+55
55; c35=10+; c35=10+ =10=10
33
55
33
55
Solution:Solution:Solution:Solution:
[x21+x22+x23+x24+x25]=[x21+x22+x23+x24+x25]=y2=y2=11
55[0+1+1+1+0]=[0+1+1+1+0]=
11
55
33
55
[x31+x32+x33+x34+x35]=[x31+x32+x33+x34+x35]=y3=y3=11
55[1+0+0+0+1]=[1+0+0+0+1]=
11
55
22
55
Solution:Solution:Solution:Solution:Solution of subproblem 3 using minimum coefficient rule: Determine xij coefficients as follows:
Since xSince x1313 = 1 in the solution to subproblem 1, = 1 in the solution to subproblem 1,
remove store 1 from consideration in node 3 and remove store 1 from consideration in node 3 and other nodes emanting from node 3. Reduce n by other nodes emanting from node 3. Reduce n by 1, n=5-1=4.1, n=5-1=4.
Solution of subproblem 3 using minimum coefficient rule: Determine xij coefficients as follows:
Since xSince x1313 = 1 in the solution to subproblem 1, = 1 in the solution to subproblem 1,
remove store 1 from consideration in node 3 and remove store 1 from consideration in node 3 and other nodes emanting from node 3. Reduce n by other nodes emanting from node 3. Reduce n by 1, n=5-1=4.1, n=5-1=4.
Since the minimum occurs for cij = c31, set x31 = 1 and x11 = x21 = 0.
Since the minimum occurs for cij = c31, set x31 = 1 and x11 = x21 = 0.
c11=20; c21 =15+c11=20; c21 =15+33
44; c31=12+; c31=12+=16=16
55
44
11
44
Solution:Solution:Solution:Solution:
=12=1233
44
Since the minimum occurs for cij = c22, set x22 = 1 and x12 = x32 = 0.
Since the minimum occurs for cij = c22, set x22 = 1 and x12 = x32 = 0.
c12=12; c22 =10+c12=12; c22 =10+33
44; c32=16+; c32=16+=11=11
55
44
11
44=16=16
33
44
Since the minimum occurs for cij = c24, set x24 = 1 and x24 = x34 = 0.
Since the minimum occurs for cij = c24, set x24 = 1 and x24 = x34 = 0.
c14=12; c24 =8 +c14=12; c24 =8 +33
44; c34=11+; c34=11+= 9= 9
55
44
11
44
Solution:Solution:Solution:Solution:
=11=1133
44
Since the minimum occurs for cij = c15, set x15 = 1 and x25 = x35 = 0.
Since the minimum occurs for cij = c15, set x15 = 1 and x25 = x35 = 0.
c15=10; c25 =15+c15=10; c25 =15+33
44; c35=10+; c35=10+=16=16
55
44
11
44=10=10
33
44
Solution:Solution:Solution:Solution:
[x21+x22+x24+x25]=[x21+x22+x24+x25]=y2=y2=11
44[0+1+1+0]=[0+1+1+0]=
11
44
22
44==
11
22
[x31+x32+x34+x35]=[x31+x32+x34+x35]=y2=y2=11
44[1+0+0+0]=[1+0+0+0]=
11
44
11
44
Set p=1+2=3Set p=1+2=3
Solution:Solution:Solution: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.8Figure 12.8Figure 12.8Figure 12.8
1
2 3
4 5 6 7
8 9
LB = 58.4y1 = 0.2y2 = y3 = 0.4
LB = 64.2y2 = 0.6; y3 = 0.4
LB = 68y2 = 1y3 = 1Pruned
LB = 77y3 = 1Pruned
LB = 63.25y1 = 1; y2 = 0.5y3 = 0.25
LB = 66.5y2 = 1; y3 = 0.5
LB = 68y1 = y2 = y3 = 1
LB = 74y1 = 1Pruned
LB = 68y1 = 1y3 = 1
12.5.312.5.3Comprehensive Location-Comprehensive Location-Allocation ModelAllocation Model
12.5.312.5.3Comprehensive Location-Comprehensive Location-Allocation ModelAllocation Model
Comprehensive Location-Allocation Comprehensive Location-Allocation ModelModelComprehensive Location-Allocation Comprehensive Location-Allocation ModelModel
ParametersParameters
SSijij production capacity of product production capacity of product ii at plant at plant jj
DDilil demand for product demand for product ii at customer zone at customer zone ll
FFkk fixed cost of operating warehouse fixed cost of operating warehouse kk
VVikik unit variable cost of handling product unit variable cost of handling product ii at warehouse at warehouse kk
CCijkl ijkl average unit cost of producing and transportingaverage unit cost of producing and transporting
product product ii from plant from plant jj via warehouse via warehouse kk to customer to customer ll
UCUCkk Upper bound on the capacity of warehouse Upper bound on the capacity of warehouse kk
LCLCkk Lower bound on the capacity of warehouse Lower bound on the capacity of warehouse kk
Comprehensive Location-Allocation Comprehensive Location-Allocation ModelModelComprehensive Location-Allocation Comprehensive Location-Allocation ModelModel
Decision VariablesDecision Variables
XXijklijkl number of units of product number of units of product ii transported transported
from plant from plant jj via warehouse via warehouse kk to customer to customer ll
1 if warehouse serves customer area
0 otherwisekl
i ly
1 if warehouse is opened at location
0 otherwisek
kz
Model 10Model 10Model 10Model 10
1 1 1 1 1 1 1 1
Minimize p q pr s s r r
ijkl ijkl il ik kl k ki j k l i l k k
c x D V Y F z
1 1
Subject to 1, 2,..., ; 1, 2,...,r s
ijkl ijk l
x S i p j q
1
1, 2,..., ; 1, 2,..., ; 1, 2...,q
ijkl il klj
x D y i p k r l s
1
1 1, 2...,r
klk
y l s
1 1
1, 2,...,p s
il kl k ki l
D y LC z k r
Model 10Model 10Model 10Model 10
1 1
1, 2,...,p s
il kl k ki l
D y UC z k r
0 1,2,..., ; 1, 2,..., ; 1, 2,..., ; 1, 2,...,ijklx i p j q k r l s
, =0 or 1 1, 2,..., ; 1, 2,...,kl ky z k r l s
Comprehensive Location-Allocation Comprehensive Location-Allocation ModelModelComprehensive Location-Allocation Comprehensive Location-Allocation ModelModel
We can easily add more linear constraints not involving We can easily add more linear constraints not involving xxijklijkl variables to model 10 to: variables to model 10 to:
• Impose upper and lower limit on the number of Impose upper and lower limit on the number of warehouses that can be opened;warehouses that can be opened;
• Enforce precedence relations among warehouses Enforce precedence relations among warehouses (e.g., open warehouse at location 1 only if another is (e.g., open warehouse at location 1 only if another is opened at location 3)opened at location 3)
• Enforce service constraints (e.g., if it is decided to Enforce service constraints (e.g., if it is decided to open a certain warehouse, then a specific customer open a certain warehouse, then a specific customer area must be served by it)area must be served by it)
• Other constraints that can be added are discussed Other constraints that can be added are discussed further in Geoffrion and Graves (1974).further in Geoffrion and Graves (1974).
• Many of these constraints reduce the solution space, Many of these constraints reduce the solution space, so they allow quicker solution of the model while so they allow quicker solution of the model while giving the modeler much flexibilitygiving the modeler much flexibility
Comprehensive Location-Allocation Comprehensive Location-Allocation ModelModelComprehensive Location-Allocation Comprehensive Location-Allocation ModelModel
Suppose we fix the values of binary variables Suppose we fix the values of binary variables yyklkl and and zzkk temporarily at 0 temporarily at 0
or 1 so that corresponding constraints are satisfiedor 1 so that corresponding constraints are satisfied
Then, model 10 reduces to the following linear program which we will Then, model 10 reduces to the following linear program which we will refer to as TPrefer to as TP
( ) ( )1 1 1
Minimize p q s
ijk l l ijk l li j l
c x K
( )1
Subject to 1, 2,..., ; 1, 2,...,s
ijk l l ijl
x S i p j q
( ) ( )1
1, 2,..., ; 1, 2...,q
ijk l l il k l lj
x D y i p l s
( ) 0 1, 2,..., ; 1, 2,..., ; 1, 2,...,ijk l lx i p j q l s
( ) ( )1 1 1
p s r
il ik l k l l k ki l k
K D V y F z
Comprehensive Location-Allocation Comprehensive Location-Allocation ModelModelComprehensive Location-Allocation Comprehensive Location-Allocation ModelModel
TP can be decomposed into TP can be decomposed into ii separate transportation problems, separate transportation problems, TPTPii, as , as
follows because the variables pertaining to a specific product follows because the variables pertaining to a specific product appear only in the rows (constraints) corresponding to that product appear only in the rows (constraints) corresponding to that product and not elsewhere. (Notice that we have temporarily eliminated and not elsewhere. (Notice that we have temporarily eliminated KK from from TPTPii))
( ) ( )1 1
Minimize q s
ijk l l ijk l lj l
c x
( )1
Subject to 1, 2,...,s
ijk l l ijl
x S j q
( ) ( )1
1, 2...,q
ijk l l il k l lj
x D y l s
( ) 0 1, 2,..., ; 1, 2,...,ijk l lx j q l s
Comprehensive Location-Allocation Comprehensive Location-Allocation ModelModelComprehensive Location-Allocation Comprehensive Location-Allocation ModelModel
TP can be decomposed into TP can be decomposed into ii separate transportation problems, separate transportation problems, TPTPii, as , as
follows because the variables pertaining to a specific product follows because the variables pertaining to a specific product appear only in the rows (constraints) corresponding to that product appear only in the rows (constraints) corresponding to that product and not elsewhere. (Notice that we have temporarily eliminated and not elsewhere. (Notice that we have temporarily eliminated KK from from TPTPii))
( ) ( )1 1
Minimize q s
ijk l l ijk l lj l
c x
( )1
Subject to 1, 2,...,s
ijk l l ijl
x S j q
( ) ( )1
1, 2...,q
ijk l l il k l lj
x D y l s
( ) 0 1, 2,..., ; 1, 2,...,ijk l lx j q l s
Comprehensive Location-Allocation Comprehensive Location-Allocation ModelModelComprehensive Location-Allocation Comprehensive Location-Allocation ModelModel
Dual of Dual of TPTPii, designated as D, designated as DTPTPii, follows., follows.
( )1 1
Maximize -q s
ij ij il il k l lj l
u S v D y
( )Subject to - 1, 2,..., ; 1, 2,...,ij il ijk l lu v c j q l s
0 1,2,..., ; 1, 2,...,iju i p j q
0 1,2,..., ; 1, 2,...,ilv i p l s
Comprehensive Location-Allocation Comprehensive Location-Allocation ModelModelComprehensive Location-Allocation Comprehensive Location-Allocation ModelModel
Combine Combine pp dual problems into one master problem MP dual problems into one master problem MP
MinimizeMinimize TT
( ) ( )1
1, 2,..., ; 1, 2...,q
ijk l l il k l lj
x D y i p l s
1 1 1 1 1 1 1 1 1
Subject to p q p pr s s r r
ij ij il il kl il ik kl k ki j i k l i l k k
T u S v D y D V y F z
1
1 1, 2...,r
klk
y l s
1 1
1, 2,...,p s
il kl k ki l
D y LC z k r
1 1
1, 2,...,p s
il kl k ki l
D y UC z k r
, =0 or 1 1, 2,..., ; 1, 2,...,kl ky z k r l s
Modified Benders’ Decomposition Modified Benders’ Decomposition Algorithm for Comprehensive Algorithm for Comprehensive Location-Allocation ModelLocation-Allocation Model
Modified Benders’ Decomposition Modified Benders’ Decomposition Algorithm for Comprehensive Algorithm for Comprehensive Location-Allocation ModelLocation-Allocation ModelStep 0:Step 0: Set upper bound Set upper bound UBUB=infinity, and convergence =infinity, and convergence
tolerance parameter tolerance parameter εε to a desired small, positive value. Set to a desired small, positive value. Set yyklkl, z, zkk = 0 or 1, for = 0 or 1, for kk=1,2,…,=1,2,…,rr, , ll=1,2,…,=1,2,…,s s so that the resulting so that the resulting values satisfy constraints with values satisfy constraints with yyklkl, z, zkk
Step 1:Step 1: Set up TPSet up TPii, , ii=1,2,…,=1,2,…,pp and determine and determine KK for the for the current values of current values of yyklkl, z, zkk kk=1,2,…,=1,2,…,rr, , ll=1,2,…,=1,2,…,ss. Set up . Set up corresponding dual model DTPcorresponding dual model DTPii for each for each ii. Solve each DTP. Solve each DTPii and add and add KK to the sum of the optimal objective function value to the sum of the optimal objective function value of each DTPof each DTPii. If this sum is less than or equal to . If this sum is less than or equal to UBUB, set , set UBUB = = KK + sum of original OFVs of each DTP + sum of original OFVs of each DTPii
Step 2:Step 2: Set up model MP for the current values of Set up model MP for the current values of uuijij, , vvilil, , ii=1,2,…=1,2,…pp; ; jj=1,2,…,=1,2,…,qq, , ll=1,2,…,=1,2,…,ss. Find a feasible solution to MP . Find a feasible solution to MP such that such that TT<<UB-εUB-ε. If there is no such feasible solution to the . If there is no such feasible solution to the current MP, stop. We have an current MP, stop. We have an εε-optimal solution. Otherwise, -optimal solution. Otherwise, go to step 1 with the current values of the go to step 1 with the current values of the yyklkl, and z, and zkk variablesvariables
Example 7Example 7Example 7Example 7
The nation’s leading grocer, Myers, wants to determine The nation’s leading grocer, Myers, wants to determine how to source the highest margin product, and also how to source the highest margin product, and also determine the warehouses through which to serve three determine the warehouses through which to serve three of its largest stores in Louisville. In order to serve the of its largest stores in Louisville. In order to serve the stores (whose locations have already been determined), stores (whose locations have already been determined), the grocer wants to utilize one or two distribution the grocer wants to utilize one or two distribution warehouses which will receive the product from one or warehouses which will receive the product from one or more of four plants which produce the product. The more of four plants which produce the product. The potential locations for these warehouses have already potential locations for these warehouses have already been selected and there are no practical limits on the been selected and there are no practical limits on the size of the warehouses. The fixed cost (in hundreds of size of the warehouses. The fixed cost (in hundreds of thousands of dollars) of building and operating the thousands of dollars) of building and operating the warehouse at each location is 6, 5, and 3, respectively.warehouse at each location is 6, 5, and 3, respectively.
Example 7Example 7Example 7Example 7
The variable cost of serving each warehouse The variable cost of serving each warehouse from each of the potential warehouse locations from each of the potential warehouse locations is given below (again in hundreds of thousands is given below (again in hundreds of thousands of dollars). Determine how many warehouses of dollars). Determine how many warehouses are to be built and in what locations. Also are to be built and in what locations. Also determine how the customers (departmental determine how the customers (departmental stores) are to be served.stores) are to be served.
Example 7Example 7Example 7Example 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
Plant 2 15 12 2 6 9 10
3 8 16
4 10 14
Example 7 - MIPExample 7 - MIPExample 7 - MIPExample 7 - MIP MODEL:MODEL:
[_1] MIN= 1000 * Y_1_1 + 2000 * Y_1_2 + 1000 * Y_1_3 + 1500 * Y_2_1 +[_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_33000 * 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 *+ 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 + 13X_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 +* 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_126 * 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 ;+ 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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_12] Y_1_1 + Y_2_1 = 1 ;
[_13] Y_1_2 + Y_2_2 = 1 ;[_13] Y_1_2 + Y_2_2 = 1 ;
[_14] Y_1_3 + Y_2_3 = 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 ;[_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 ;[_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 ;[_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 ;[_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_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);@BIN( Y_2_2); @BIN( Y_2_3); @BIN( Z_1); @BIN( Z_2);
ENDEND
Example 7 – MIP SolutionExample 7 – MIP SolutionExample 7 – MIP SolutionExample 7 – MIP Solution Global optimal solution found.Global optimal solution found.
Objective value: 12300.00Objective value: 12300.00
Objective bound: 12300.00Objective bound: 12300.00
Infeasibilities: 0.000000Infeasibilities: 0.000000
Extended solver steps: 0Extended solver steps: 0
Total solver iterations: 13Total solver iterations: 13
Variable Value Reduced CostVariable Value Reduced Cost
Q 4.000000 0.000000Q 4.000000 0.000000
R 2.000000 0.000000R 2.000000 0.000000
S 3.000000 0.000000S 3.000000 0.000000
CAPACITY( 1) 200.0000 0.000000CAPACITY( 1) 200.0000 0.000000
CAPACITY( 2) 100.0000 0.000000CAPACITY( 2) 100.0000 0.000000
CAPACITY( 3) 50.00000 0.000000CAPACITY( 3) 50.00000 0.000000
CAPACITY( 4) 500.0000 0.000000CAPACITY( 4) 500.0000 0.000000
FIXEDCOST( 1) 2000.000 0.000000FIXEDCOST( 1) 2000.000 0.000000
FIXEDCOST( 2) 1500.000 0.000000FIXEDCOST( 2) 1500.000 0.000000
VARIABLECOST( 1) 10.00000 0.000000VARIABLECOST( 1) 10.00000 0.000000
VARIABLECOST( 2) 15.00000 0.000000VARIABLECOST( 2) 15.00000 0.000000
UPPERBOUND( 1) 3000.000 0.000000UPPERBOUND( 1) 3000.000 0.000000
UPPERBOUND( 2) 4000.000 0.000000UPPERBOUND( 2) 4000.000 0.000000
LOWERBOUND( 1) 0.000000 0.000000LOWERBOUND( 1) 0.000000 0.000000
LOWERBOUND( 2) 0.000000 0.000000LOWERBOUND( 2) 0.000000 0.000000
Z( 1) 1.000000 2000.000Z( 1) 1.000000 2000.000
Z( 2) 0.000000 1500.000Z( 2) 0.000000 1500.000
Example 7 – LPExample 7 – LPExample 7 – LPExample 7 – LP
MODEL:MODEL:
[_1] MIN= 25 * X_1_1_1 + 28 * X_1_1_2 + 23 * X_1_1_3 + 16 * X_1_2_1 + 19[_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 +* 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_218 * 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 *+ 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 + 24X_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 ;* 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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_11] X_1_2_3 + X_2_2_3 + X_3_2_3 + X_4_2_3 >= 100 ;
[_12] 0 = 0 ;[_12] 0 = 0 ;
[_13] 0 = 0 ;[_13] 0 = 0 ;
[_14] 0 = 0 ;[_14] 0 = 0 ;
[_15] 0 <= 0 ;[_15] 0 <= 0 ;
[_16] 0 <= 3600 ;[_16] 0 <= 3600 ;
[_17] 0 >= 0 ;[_17] 0 >= 0 ;
[_18] 0 >= - 400 ;[_18] 0 >= - 400 ;
ENDEND
Example 7 – LP SolutionExample 7 – LP SolutionExample 7 – LP SolutionExample 7 – LP Solution Global optimal solution found.Global optimal solution found.
Objective value: 15500.00 Objective value: 15500.00 UPPER BOUNDUPPER BOUND
Infeasibilities: 0.000000Infeasibilities: 0.000000
Total solver iterations: 6Total solver iterations: 6
Variable Value Reduced CostVariable Value Reduced Cost
Q 4.000000 0.000000Q 4.000000 0.000000
R 2.000000 0.000000R 2.000000 0.000000
S 3.000000 0.000000S 3.000000 0.000000
CAPACITY( 1) 200.0000 0.000000CAPACITY( 1) 200.0000 0.000000
CAPACITY( 2) 100.0000 0.000000CAPACITY( 2) 100.0000 0.000000
CAPACITY( 3) 50.00000 0.000000CAPACITY( 3) 50.00000 0.000000
CAPACITY( 4) 500.0000 0.000000CAPACITY( 4) 500.0000 0.000000
FIXEDCOST( 1) 2000.000 0.000000FIXEDCOST( 1) 2000.000 0.000000
FIXEDCOST( 2) 1500.000 0.000000FIXEDCOST( 2) 1500.000 0.000000
VARIABLECOST( 1) 10.00000 0.000000VARIABLECOST( 1) 10.00000 0.000000
VARIABLECOST( 2) 15.00000 0.000000VARIABLECOST( 2) 15.00000 0.000000
UPPERBOUND( 1) 3000.000 0.000000UPPERBOUND( 1) 3000.000 0.000000
UPPERBOUND( 2) 4000.000 0.000000UPPERBOUND( 2) 4000.000 0.000000
LOWERBOUND( 1) 0.000000 0.000000LOWERBOUND( 1) 0.000000 0.000000
LOWERBOUND( 2) 0.000000 0.000000LOWERBOUND( 2) 0.000000 0.000000
Z( 1) 0.000000 0.000000Z( 1) 0.000000 0.000000
Z( 2) 1.000000 0.000000Z( 2) 1.000000 0.000000
Example 7 – DualExample 7 – DualExample 7 – DualExample 7 – Dual MODEL:MODEL:
MAX = 200 * U_1 + 100 * U_2 + 50 * U_3 + 500 * U_4 + 100 * V_4MAX = 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;+ 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_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_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_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_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_1_3] U_2 + V_3 <= 18;
[ X_2_2_1] U_2 + V_4 <= 18;[ X_2_2_1] U_2 + V_4 <= 18;
[ X_2_2_2] U_2 + V_5 <= 21;[ X_2_2_2] U_2 + V_5 <= 21;
[ X_2_2_3] U_2 + V_6 <= 22;[ X_2_2_3] U_2 + V_6 <= 22;
[ X_3_1_1] U_3 + V_1 <= 13;[ X_3_1_1] U_3 + V_1 <= 13;
[ X_3_1_2] U_3 + V_2 <= 16;[ X_3_1_2] U_3 + V_2 <= 16;
[ X_3_1_3] U_3 + V_3 <= 11;[ X_3_1_3] U_3 + V_3 <= 11;
[ X_3_2_1] U_3 + V_4 <= 22;[ X_3_2_1] U_3 + V_4 <= 22;
[ X_3_2_2] U_3 + V_5 <= 25;[ X_3_2_2] U_3 + V_5 <= 25;
[ X_3_2_3] U_3 + V_6 <= 26;[ X_3_2_3] U_3 + V_6 <= 26;
[ X_4_1_1] U_4 + V_1 <= 15;[ X_4_1_1] U_4 + V_1 <= 15;
[ X_4_1_2] U_4 + V_2 <= 18;[ X_4_1_2] U_4 + V_2 <= 18;
[ X_4_1_3] U_4 + V_3 <= 13;[ X_4_1_3] U_4 + V_3 <= 13;
[ X_4_2_1] U_4 + V_4 <= 20;[ X_4_2_1] U_4 + V_4 <= 20;
[ X_4_2_2] U_4 + V_5 <= 23;[ X_4_2_2] U_4 + V_5 <= 23;
[ X_4_2_3] U_4 + V_6 <= 24;[ 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_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);@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);@FREE( W_2); @FREE( W_3); @BND( -0.1E+31, T_1, 0);
@BND( -0.1E+31, T_2, 0);@BND( -0.1E+31, T_2, 0);
ENDEND
Example 7 – Dual SolutionExample 7 – Dual SolutionExample 7 – Dual SolutionExample 7 – Dual Solution Global optimal solution found.Global optimal solution found.
Objective value: 8000.000 Objective value: 8000.000 + K=7500 =15,500 UPPER BOUND+ K=7500 =15,500 UPPER BOUND
Infeasibilities: 0.000000Infeasibilities: 0.000000
Total solver iterations: 7Total solver iterations: 7
Variable Value Reduced CostVariable Value Reduced Cost
U_1 -4.000000 0.000000U_1 -4.000000 0.000000
U_2 -2.000000 0.000000U_2 -2.000000 0.000000
U_3 0.000000 -50.00000U_3 0.000000 -50.00000
U_4 0.000000 -400.0000U_4 0.000000 -400.0000
V_4 20.00000 0.000000V_4 20.00000 0.000000
V_5 23.00000 0.000000V_5 23.00000 0.000000
V_6 24.00000 0.000000V_6 24.00000 0.000000
T_2 0.000000 -3600.000T_2 0.000000 -3600.000
T_4 0.000000 400.0000T_4 0.000000 400.0000
V_1 0.000000 0.000000V_1 0.000000 0.000000
V_2 0.000000 0.000000V_2 0.000000 0.000000
V_3 0.000000 0.000000V_3 0.000000 0.000000
W_1 0.000000 0.000000W_1 0.000000 0.000000
W_2 0.000000 0.000000W_2 0.000000 0.000000
W_3 0.000000 0.000000W_3 0.000000 0.000000
T_1 0.000000 0.000000T_1 0.000000 0.000000
Example 7 – Master ProblemExample 7 – Master ProblemExample 7 – Master ProblemExample 7 – Master Problem MODEL:MODEL:
[_1] MIN= Z;[_1] MIN= Z;
[_2] Z >= -1000 + 2000 * Y_2_1 + 4600 * Y_2_2 + 2400 * Y_2_3 + 2000 * Y_2_1 + [_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 + 4600 * Y_2_2 + 2400 * Y_2_3 +
1000 * Y_1_1 + 2000 * Y_1_2 + 1000 * Y_1_3 + 1500 * Y_2_1 +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 ;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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_10] Y_1_1 + Y_2_1 = 1 ;
[_11] Y_1_2 + Y_2_2 = 1 ;[_11] Y_1_2 + Y_2_2 = 1 ;
[_12] Y_1_3 + Y_2_3 = 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 ;[_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 ;[_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 ;[_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 ;[_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_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);@BIN( Y_2_2); @BIN( Y_2_3); @BIN( Z_1); @BIN( Z_2);
ENDEND
Example 7 – Master Problem SolutionExample 7 – Master Problem SolutionExample 7 – Master Problem SolutionExample 7 – Master Problem Solution Global optimal solution found.Global optimal solution found.
Objective value: 5000.000 Objective value: 5000.000 LOWER BOUNDLOWER BOUND
Objective bound: 5000.000Objective bound: 5000.000
Infeasibilities: 0.000000Infeasibilities: 0.000000
Extended solver steps: 0Extended solver steps: 0
Total solver iterations: 5Total solver iterations: 5
Variable Value Reduced CostVariable Value Reduced Cost
Z 5000.000 0.000000Z 5000.000 0.000000
Y_2_1 0.000000 5500.000Y_2_1 0.000000 5500.000
Y_2_2 0.000000 12200.00Y_2_2 0.000000 12200.00
Y_2_3 0.000000 6300.000Y_2_3 0.000000 6300.000
Y_1_1 1.000000 1000.000Y_1_1 1.000000 1000.000
Y_1_2 1.000000 2000.000Y_1_2 1.000000 2000.000
Y_1_3 1.000000 1000.000Y_1_3 1.000000 1000.000
Z_1 1.000000 2000.000Z_1 1.000000 2000.000
Z_2 0.000000 1500.000Z_2 0.000000 1500.000
Example 7 – LPExample 7 – LPExample 7 – LPExample 7 – LP MODEL:MODEL:
[_1] MIN= 25 * X_1_1_1 + 28 * X_1_1_2 + 23 * X_1_1_3 + 16 * X_1_2_1 + 19[_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 +* 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_218 * 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 *+ 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 + 24X_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 ;* 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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_11] X_1_2_3 + X_2_2_3 + X_3_2_3 + X_4_2_3 >= 0 ;
[_12] 0 = 0 ;[_12] 0 = 0 ;
[_13] 0 = 0 ;[_13] 0 = 0 ;
[_14] 0 = 0 ;[_14] 0 = 0 ;
[_15] 0 <= 2600 ;[_15] 0 <= 2600 ;
[_16] 0 <= 0 ;[_16] 0 <= 0 ;
[_17] 0 >= - 400 ;[_17] 0 >= - 400 ;
[_18] 0 >= 0 ;[_18] 0 >= 0 ;
ENDEND
Example 7 – LP SolutionExample 7 – LP SolutionExample 7 – LP SolutionExample 7 – LP Solution Global optimal solution found.Global optimal solution found.
Objective value: 12300.00 Objective value: 12300.00 UPPER BOUNDUPPER BOUND
Infeasibilities: 0.000000Infeasibilities: 0.000000
Total solver iterations: 6Total solver iterations: 6
Variable Value Reduced CostVariable Value Reduced Cost
Q 4.000000 0.000000Q 4.000000 0.000000
R 2.000000 0.000000R 2.000000 0.000000
S 3.000000 0.000000S 3.000000 0.000000
CAPACITY( 1) 200.0000 0.000000CAPACITY( 1) 200.0000 0.000000
CAPACITY( 2) 100.0000 0.000000CAPACITY( 2) 100.0000 0.000000
CAPACITY( 3) 50.00000 0.000000CAPACITY( 3) 50.00000 0.000000
CAPACITY( 4) 500.0000 0.000000CAPACITY( 4) 500.0000 0.000000
FIXEDCOST( 1) 2000.000 0.000000FIXEDCOST( 1) 2000.000 0.000000
FIXEDCOST( 2) 1500.000 0.000000FIXEDCOST( 2) 1500.000 0.000000
VARIABLECOST( 1) 10.00000 0.000000VARIABLECOST( 1) 10.00000 0.000000
VARIABLECOST( 2) 15.00000 0.000000VARIABLECOST( 2) 15.00000 0.000000
UPPERBOUND( 1) 3000.000 0.000000UPPERBOUND( 1) 3000.000 0.000000
UPPERBOUND( 2) 4000.000 0.000000UPPERBOUND( 2) 4000.000 0.000000
LOWERBOUND( 1) 0.000000 0.000000LOWERBOUND( 1) 0.000000 0.000000
LOWERBOUND( 2) 0.000000 0.000000LOWERBOUND( 2) 0.000000 0.000000
Z( 1) 1.000000 0.000000Z( 1) 1.000000 0.000000
Z( 2) 0.000000 0.000000Z( 2) 0.000000 0.000000
Example 7 – DualExample 7 – DualExample 7 – DualExample 7 – Dual MODEL:MODEL:
MAX = 200 * U_1 + 100 * U_2 + 50 * U_3 + 500 * U_4 + 100 * V_1MAX = 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;+ 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_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_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_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_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_1_3] U_2 + V_3 <= 18;
[ X_2_2_1] U_2 + V_4 <= 18;[ X_2_2_1] U_2 + V_4 <= 18;
[ X_2_2_2] U_2 + V_5 <= 21;[ X_2_2_2] U_2 + V_5 <= 21;
[ X_2_2_3] U_2 + V_6 <= 22;[ X_2_2_3] U_2 + V_6 <= 22;
[ X_3_1_1] U_3 + V_1 <= 13;[ X_3_1_1] U_3 + V_1 <= 13;
[ X_3_1_2] U_3 + V_2 <= 16;[ X_3_1_2] U_3 + V_2 <= 16;
[ X_3_1_3] U_3 + V_3 <= 11;[ X_3_1_3] U_3 + V_3 <= 11;
[ X_3_2_1] U_3 + V_4 <= 22;[ X_3_2_1] U_3 + V_4 <= 22;
[ X_3_2_2] U_3 + V_5 <= 25;[ X_3_2_2] U_3 + V_5 <= 25;
[ X_3_2_3] U_3 + V_6 <= 26;[ X_3_2_3] U_3 + V_6 <= 26;
[ X_4_1_1] U_4 + V_1 <= 15;[ X_4_1_1] U_4 + V_1 <= 15;
[ X_4_1_2] U_4 + V_2 <= 18;[ X_4_1_2] U_4 + V_2 <= 18;
[ X_4_1_3] U_4 + V_3 <= 13;[ X_4_1_3] U_4 + V_3 <= 13;
[ X_4_2_1] U_4 + V_4 <= 20;[ X_4_2_1] U_4 + V_4 <= 20;
[ X_4_2_2] U_4 + V_5 <= 23;[ X_4_2_2] U_4 + V_5 <= 23;
[ X_4_2_3] U_4 + V_6 <= 24;[ 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_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);@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);@FREE( W_2); @FREE( W_3); @BND( -0.1E+31, T_1, 0);
@BND( -0.1E+31, T_2, 0);@BND( -0.1E+31, T_2, 0);
ENDEND
Example 7 – Dual SolutionExample 7 – Dual SolutionExample 7 – Dual SolutionExample 7 – Dual Solution Global optimal solution found.Global optimal solution found.
Objective value: 6300.000 + K = 6000 = 12300 Objective value: 6300.000 + K = 6000 = 12300 UPPPER BOUNDUPPPER BOUND
Infeasibilities: 0.000000Infeasibilities: 0.000000
Total solver iterations: 10Total solver iterations: 10
Variable Value Reduced CostVariable Value Reduced Cost
U_1 0.000000 -200.0000U_1 0.000000 -200.0000
U_2 0.000000 -100.0000U_2 0.000000 -100.0000
U_3 -2.000000 0.000000U_3 -2.000000 0.000000
U_4 0.000000 -150.0000U_4 0.000000 -150.0000
V_1 15.00000 0.000000V_1 15.00000 0.000000
V_2 18.00000 0.000000V_2 18.00000 0.000000
V_3 13.00000 0.000000V_3 13.00000 0.000000
T_1 0.000000 -2600.000T_1 0.000000 -2600.000
T_3 0.000000 400.0000T_3 0.000000 400.0000
V_4 0.000000 0.000000V_4 0.000000 0.000000
V_5 0.000000 0.000000V_5 0.000000 0.000000
V_6 0.000000 0.000000V_6 0.000000 0.000000
W_1 0.000000 0.000000W_1 0.000000 0.000000
W_2 0.000000 0.000000W_2 0.000000 0.000000
W_3 0.000000 0.000000W_3 0.000000 0.000000
T_2 0.000000 0.000000T_2 0.000000 0.000000
Example 7 – Master ProblemExample 7 – Master ProblemExample 7 – Master ProblemExample 7 – Master Problem MODEL:MODEL:
[_1] MIN= Z;[_1] MIN= Z;
[_2] Z >= -1000 + 2000 * Y_2_1 + 4600 * Y_2_2 + 2400 * Y_2_3 + [_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 +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 ;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 + [_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 +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 ;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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_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 ;[_10] Y_1_1 + Y_2_1 = 1 ;
[_11] Y_1_2 + Y_2_2 = 1 ;[_11] Y_1_2 + Y_2_2 = 1 ;
[_12] Y_1_3 + Y_2_3 = 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 ;[_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 ;[_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 ;[_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 ;[_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_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);@BIN( Y_2_2); @BIN( Y_2_3); @BIN( Z_1); @BIN( Z_2);
ENDEND
Example 7 – Master Problem SolutionExample 7 – Master Problem SolutionExample 7 – Master Problem SolutionExample 7 – Master Problem Solution Global optimal solution found.Global optimal solution found.
Objective value: 12000.00 Objective value: 12000.00 LOWER BOUNDLOWER BOUND
Objective bound: 12000.00Objective bound: 12000.00
Infeasibilities: 0.000000Infeasibilities: 0.000000
Extended solver steps: 0Extended solver steps: 0
Total solver iterations: 43Total solver iterations: 43
Variable Value Reduced CostVariable Value Reduced Cost
Z 12000.00 0.000000Z 12000.00 0.000000
Y_2_1 1.000000 1500.000Y_2_1 1.000000 1500.000
Y_2_2 0.000000 3000.000Y_2_2 0.000000 3000.000
Y_2_3 1.000000 1500.000Y_2_3 1.000000 1500.000
Y_1_1 0.000000 2500.000Y_1_1 0.000000 2500.000
Y_1_2 1.000000 5600.000Y_1_2 1.000000 5600.000
Y_1_3 0.000000 2300.000Y_1_3 0.000000 2300.000
Z_1 1.000000 2000.000Z_1 1.000000 2000.000
Z_2 1.000000 1500.000Z_2 1.000000 1500.000
Example 7Example 7Example 7Example 7
Lower Bound of 12,000 is close to Upper Lower Bound of 12,000 is close to Upper Bound. So, optimal solution must be between Bound. So, optimal solution must be between the two. The student is encouraged to carry the two. The student is encouraged to carry Benders’ decomposition algorithm one more Benders’ decomposition algorithm one more time to ensure LB=UB in the third iteration.time to ensure LB=UB in the third iteration.