Title: Facility Location
1Facility Location
- Chapter 2 Applied Mathematics of Logistics
2An instance of facility location
- 5 markets
- 3 candidate locations of the warehouses
- The annual fixed costs of warehouses are known.
- The transportation costs (per unit volume) from
warehouses to markets are known. - The annual market demands of markets are known.
- The objective is to minimize the total cost that
is the sum of the annual fixed cost and the
transportation cost. - The constraints are
- all the demands must be satisfied,
- the transport is allowed from the opened
warehouse(s) only.
3The date of the instance
Demand (unittons), transportation cost
(unit10000 yen/ton), and fixed cost to open
warehouse (unit10000 yen)
4Mosel model (declaration)
declare as an array of real numbers
Warehouse 1..3 Market 1..5
Demand array (Market) of real TransCost
array (Warehouse, Market) of real FixedCost
array (Warehouse) of real x array(Warehouse,
Market) of mpvar y array(Warehouse) of mpvar
5Mosel model (data input)
- Demand 180,80,200,160,220Remark for new
version of model, we have to write Demand
180,80,200,160,220 - TransCost
- 1000 ,800 ,600 ,500 ,400,
- 600 ,500 ,400 ,300 ,600,
- 300 ,400 ,500 ,500 , 900
- FixedCost 100000 ,100000 ,100000
6Objective function
name of the constraint
total_cost sum(i in Warehouse) FixedCost(i)
y(i) sum (i in Warehouse, j in Market)
TransCost(i,j) x(i,j)
sum represents the summation (S) that compute the
sum
7Demand constraints
Transportation volume that flows into market j
Total demand of market j
forall(j in Market) sum(i in Warehouse) x(i,j)
Demand(j)
We have a constraint for each market.
8Forcing constraints (capacity of warehouse)
Transportation volume from warehouse i ?
Capacity of warehouse i (if warehouse i is
open) 0
(otherwise)
forall(i in Warehouse) sum (j in Market)
x(i,j) lt 999999y(i)
9Output
obj. function value 508000 y(1) 0 y(2) 1
y(3) 0 x(2,1) 180 x(2,2) 80 x(2,3) 200
x(2,4) 160 x(2,5) 220
writeln(obj. function value ", getobjval)
forall(i in Warehouse) writeln(" y(", i, ") ",
getsol(y(i))) forall(i in Warehouse, j in
Market) do if (getsol(x(i,j))gt0.01) then
writeln(" x(", i, ",",j,") ", getsol(x(i,j)))
end-if end-do
output the solution when the transportation
volume is positive
10Forcing constraints (week and strong
formulations)
- The markets are supplied only from open
warehouses.
Week (but compact) formulation (number of
constraints is few)
Strong formulation (number of constraints is
large)
11Cutting plane
- Cutting planes add the strong constraints if
necessarily(when the constraints are violated by
an LP solution)
Declare the constraints to be add as an array of
inequalities (linctr)
declarations cut array(Warehouse,Market) of
linctr end-declarations
Add to the cut pool using setmodcut(
constraints) command
forall(i in Warehouse,j in Market) do
cut(i,j) x(i,j) lt Demand(j)y(i)
setmodcut(cut(i,j)) end-do
12Weber problem
- Customers are on the plane. The X,Y coordinates
of customer i is (Xi,Yi). - Customer i has a given demand wi .
- The distance between the points is calculated by
an lp norm (1 ?p). Distance between (Xi,Yi) and
(Xj,Yj) is - Objective is to find a location (X,Y) of the
facility that minimizes the total weighted
distance from the customers to the facility,
i.e.,
13Proximal point algorithm(1)
- f(X,Y) is a convex functionthe necessarily and
sufficient condition that (X,Y) is an optimal
location is - and
14Proximal point algorithm (2)
- The derivative with respect to X is set to 0
- This equation cannot be solved directly.
- The iterative method below find a proximal point.
- Similar formula can be obtained with respect to
variable Y. - Converges to a globally optimal solution when 1 ?
p ? 2.
15Euclid k-median problem
- For a given set of points (customers) Pn xi,
i1,?,n , find the location of k facilities
that minimizes the total travel distances of
customers. - Points are on two-dimensional plane, i.e.,
xi(Xi,Yi) - xi-xj Euclidean distance between two
points xi, xj - L (k Pn) the optimal value of the Euclidean
k-median problem for a given customer set Pn
16Aggregation heuristics
- 1.Divide the region 0,12 into t2 square
sub-regions Ri, i1,?,t2 . - Let the points in the region Ri be
. Define the distance d(Ri,Rj) between
regions Ri,Rj as the minimum distance between two
points in each regions. - Let N be the set of regions that have a
non-empty . - 2.Solve the following weighted k-median problem
- 3. Select an arbitrary point from the region
selected in Step 2 and output the points as a
heuristic solution.
17Worst case analysis of aggregation heuristics
- L(k Pn)the optimal value of the Euclid
k-median problem for Pn - Lah(k Pn) the approximate solution value of the
aggregation heuristics with parameter t
18Honeycomb heuristics
- 1.Cover the region by hexagons with area 1/k .
- 2.Select the nearest points to the centers of
hexagons and output the points as a heuristic
solution. - Assume that all the points are randomly
distributed on the plane. - L(k Pn) the optimal value of the Euclid
k-median problem for Euclid k-median - Lhc(kPn) the approximate solution value of the
honeycomb heuristics - If k ? (log n), ko (n /log n), we have
-
- where ? is a constant (approximately 0.3771967)
19k-facility maximization problem
- cij (?0) the profit when customer i 2 I is
served by facility j 2 J - Select k facilities from the set J of candidate
points - Maximize the total profit
- The total profit v(S) when we open a subset S ?
J of facilities
20Greedy algorithm for k-facility maximization
problem
21Worst case analysis of greedy algorithm
- Agreedy(I)the approximate solution value
obtained by the greedy algorithm - OPT(I)the optimal value