1 1 ISyE 6203 Location John H. Vande Vate Fall 2011.
-
Upload
bertha-martin -
Category
Documents
-
view
217 -
download
1
Transcript of 1 1 ISyE 6203 Location John H. Vande Vate Fall 2011.
11
ISyE 6203Location
John H. Vande Vate
Fall 2011
22
HDT Case
• Read Case• Answer three questions:
– Compare the direct costs of the alternatives– Considering cash flow impacts, make a recommendation
about which alternative to pursue– Since the buyer pays for the trucks as they are delivered,
analyze whether or not it would be advantageous for HDT to pay overtime to speed up production assuming they ship the trucks via Baltimore as soon as they are ready. Assume that HDT’s cost of borrowing is 12% per year. Make reasonable assumptions about the impacts of overtime on production.
• Due Thursday September 15th
33
Next 2 Weeks• No class Tuesday, September 13th.
– Please use this time to prepare for your conference calls next week.
• Class on Thursday, September 15th: – Please have your answers for the HDT case prepared to
present. Moinul Islam will respond to your ideas. • Class on Tuesday, September 20th:
– Greg Andrews, EMIL-SCS Managing Director, will cover Air Freight 101. Mr. Andrews has 30 years experience in the industry and is a wealth of information we don’t often get in academic programs
• Class on Thursday, September 22nd: – My PhD student Moinul Islam, will start talking about
models for locating consolidation facilities
44
Mid Term
• It looks like the mid-term should fall in the first week of October.
• I will post old exams and solutions
55
Questions about Projects?
66
Agenda• Context• Academic Development with Euclidean Distance
– Single location– Several locations
• Discussion of Distances– Euclidean– Surface of the Earth– Over-the-road
• Making it Practical– Discussion of Frequency & Pool Points– Line Haul & Delivery
• Long Digression on Traveling Salesman Problem
• Apply to Our Company• More complex model
Today
Moin on
9/22
When I get back
77
Context• We will not discuss Site Selection
– Zoning– Road access– Utilities– Tax incentives– Labor– ….
• We will focus on– Guidelines for the site selection process– Number and general location of facilities– Which county or region– Part of Supply Chain design exercise
88
Academic Model
• Problem: Locate a point (x,y) on the plane to minimize the total (weighted) distance to a fixed set of customer locations (xi,yi)
• di(x,y) =
• Min or Min
2 2( ) ( )i ix x y y
( , )ii
d x y ( , )i ii
w d x y
99
Convexity The Hessian of d(x,y), describing the local
curvature of the function, is
Its first principal minors are
Its second principal minor is 0 As these are all non-negative, d is Convex
2
2
2 2 3/2
( ) ( )( )
( )( ) ( )
(( ) ( ) )
b y a x b y
a x b y a x
a x b y
2 2
2 2 3/2 2 2 3/2
( ) ( )
(( ) ( ) ) (( ) ( ) ) and b y a x
a x b y a x b y
1010
Solution
• The partials of
2 2
2 2
2( ) ( )( , ) 12 ( , )( ) ( )
( )( , )( , )
( , ) ( , ) ( ) ( )
i i
ii i
i
i
i i ii i
x x x xf x yx d x yx x y y
i i
y yf x yy d x y
i
f x y d x y x x y y
are
and
1111
Solution• So a local minimum is a global minimum and
we just need to find (x, y) that satisfies
• Solving for x and y yields
( , )
( , )
( , ) 0
( , ) 0
i
i
i
i
x xfx d x y
i
y yfy d x y
i
x y
x y
/ ( , )
1/ ( , )
/ ( , )
1/ ( , )
i ii
ii
i ii
ii
x d x y
d x y
y d x y
d x y
x
y
1212
Solution• Note that if all the distances di(x,y) are equal
reduces to
But this is rarely the answer
/ ( , )
1/ ( , )
/ ( , )
1/ ( , )
i ii
ii
i ii
ii
x d x y
d x y
y d x y
d x y
x
y
and i i
i i
x y
n nx x y y
1313
Simple Example
x (X1, Y1) = (1, 0)
x (X2, Y2) = (0, 1)
• Solution: y = 1 – x so long as 0 ≤ x ≤ 1
• So (½, ½) is a solution in this case
2222
2222
)1(
1
)1(
)1()1(
1
2222
),(
),(
)1()1(),(
yx
y
yx
yy
yx
x
yx
xx
yxf
yxf
yxyxyxf
1414
Finding x and y• Start at
• Compute the distances di = di(x,y)
• Compute the new values of x and y
• repeat
and i i
i i
x y
n nx x y y
/
1/
/
1/
i ii
ii
i ii
ii
x d
d
y d
d
x
y
1515
Example• Using Euclidean Distance from Our Company
stores97 83708 -88.20 41.45 8 0.12 7.51 0.13 7.02 0.14 98 38101 -97.26 25.54 11 0.09 11.19 0.09 11.43 0.09 99 33909 -80.09 26.04 18 0.06 16.68 0.06 15.96 0.06
100 35813 -86.35 34.42 9 0.12 7.26 0.14 6.42 0.16 Average -94.63 36.39 Total Distance Total 1/Distance Total Distance Total 1/Distance Total Distance Total 1/Distance
1,439 10.74 1,425 10.39 1,419 10.56 Longitude Latitude Longitude Latitude Longitude Latitude
-93.42 36.06 -92.59 35.97 -92.06 35.95 Iteration 1 Iteration 2 Initial Iteration
1717
Academic Model: Several Facilities
• Problem: Locate m points (xj,yj) on the plane to minimize the total (weighted) distance to the set of customer locations (ac,bc) that each point serves. Each customer must be served by some point
• dc(xj,yj) =
• zcj = 1 if customer c is assigned to point j,
0 otherwise• Min • s.t. Each customer assigned to one of the points
2 2( ) ( )c c j c jw a x b y
,
( , )cj c j jc j
z d x y
1818
Single Sourcing
• Only 1 Point can serve a Customer• Each Customer assigned to 1 point
for each Customer c
• Zcj {0, 1} Binary
1cjj
z
1919
Split Sourcing Model• Dc = Demand at Customer c
• dc(xj,yj) =
• wc typically Dc
• zcj = Fraction of demand at Customer c supplied by point j
for each Customer c• zcj non-negative, but not necessarily binary
• zcj Dc is the volume supplied to customer c from point j• Only makes sense if there is some other constraint, e.g., capacity of the
facilities that forces this
2 2( ) ( )c c c j c jD w a x b y
1cjj
z
2020
Split Sourcing Model• Dc = Demand at Customer c
• dc(xj,yj) =
• wc typically Dc
• zcj = Fraction of demand at Customer c supplied by point j
for each Customer c• Facility capacity constraints
2 2( ) ( )c c c j c jD w a x b y
1cjj
z
CapacityFacility cc
cj Dz
2121
Simple Versions
• If we know where the points should be located, how can we solve the problem?
• If we know which customers should be assigned to which points, how can we solve the problem?
2222
The ALT Heuristic
• If we know where the points should be located, how can we solve the problem?
• Fix the locations of the points and determine the best customer assignments
• If we know which customers should be assigned to which points, how can we solve the problem?
• Fix the customer assignments, find the best locations for the points
• Repeat
2323
The ALT Heuristic
• Fix the locations of the points and determine the best customer assignments
• Fix the customer assignments, find the best locations for the points
• Repeat
2424
The ALT Heuristic
• It is a Heuristic – no guarantee it finds a best answer
• It is simple and effective
• The idea has broader applicability than this academic problem
• We will come back to this broader idea
• First, let’s make it more practical
2525
Making It Practical
• Distances– Euclidean
– Surface of the Earth
– Over-the-Road
• A small Challenge• Frequency & Pool Points• Line Haul & Delivery
– Digression on TSP
• Challenge
2626
Euclidean Distance • In the US actual distance is something like
60*Euclidean Distance • Not appropriate for distances more than about
20 miles• Better estimate for larger distances 69 * ArcCos(Sin(latA * pi / 180) * Sin(latB * pi / 180) + Cos(latA * pi / 180) * Cos(latB * pi / 180) * Cos((lonA - lonB) * pi / 180))• I’ve built this into OurCompany.xls as Distance(LonA, LatA, LonB, LatB)• We also have rlDistance(OZip, DZip)
2727
Working with Distance• Complicated to find/simplify the roots of the
partials. Just use Solver or any Convex Optimization tool like Minos or various Matlab packages
• So, the ALT heuristic becomes– Fix the locations of the facilities and find the best
assignments of the customers to them– Fix the assignments and use Solver or Minos to find
the best locations for the facilities • Note once the assignments are made, you can locate each
facility separately to best serve the customers assigned to it
2828
Over-The-Road Distances• Available from many sources
– CzarLite– MapPoint– PC Miler (rlPCMiler(OZip, DZip) in Radical Tools)– ….
• Can be slow, tedious to work with– Distance computations are more demanding
• Makes sense to use approximations – At least until the last few iterations– Generally the differences don’t matter, but we do want to avoid
inaccessible locations and account for geographic barriers (Great Lakes, Grand Canyon, Mississippi River, …or Alps, Baltic, North, Aegean, Adriatic, …)
• May want to use actual transport cost and time for toll roads or ferries, etc.
2929
Questions?
3030
Small Challenge
• Relocate the Indianapolis Assembly operations to minimize the daily average CWT-miles (in terms of Distance) of transportation for Our Company
• Where should those operations go?
• The Sheet Location2 of OurCompanyLocation.xls will help you get started.
3131
Small Challenge part 2
• Relocate the Indianapolis Assembly operations to minimize the daily average CWT-miles (in terms of PCMiler distance) of transportation for Our Company
• Compare the solutions
• See Location2OTR of OurCompanyLocation.xls
3232
Big Challenge• Consider the challenge of locating the cross dock to
minimize:– Transportation
• TL (EOQ) from plants to Cross Dock• LTL (EOQ) from Cross Dock to Stores
– Inventory• Pipeline • Cycle stocks
• As the location changes, the transportation rates change and so do the EOQ (extended) values.
• Work out an approach with a small number (5) stores. What issues do you encounter? What resolutions would you propose?
• Open ended
3333
Frequency Revisited • Most companies have 100’s or 1000’s or
even 10’s of thousands of SKUs• Especially in retail, there is often a battle
between – Breadth – Having many SKUs available for
customers– Depth – Having more of each SKU available
• The two compete for– Limited shelf space– Limited working capital
• Frequency of replenishment is often fixed by limits on Depth
3434
Cross Docks
• Cross docks or “Pool Points” help– DC ships to a pool point (line haul)– Pool point distributes to stores (delivery)– No inventory at the pool point
• Frequency ensures low cycle stock
• Consolidation reduces transportation impacts– Aggregating stores for line haul– Multi-stop or mode shift for delivery
3535
Location
• How many pools should we have and which stores should each one serve?
• Frequency is fixed, say once per week
• Sets cycle stocks, e.g., half a week at the stores
• Our goal is to manage transportation and operating expenses at the pools
3636
Transportation
• Line Haul– Weekly volume to a pool dictated by
weekly demand at the stores it serves– Distance dictated by location of the pool
• Delivery– Delivery distance
• TSP Tour• LTL/parcel rates
– Distance & assignments dictated by pool locations
4646
Agenda
• Deciding the number and locations of cross docks/pool points– A simple approximation for delivery costs– A simple ALT type heuristic– A more complex model that considers both
line haul and delivery in making assignments (MIP for assigning stores)
– Industrial MIP modeling tools (AMPL)
4747
Approximating Delivery
• Something simple– Sum of distances from Pool to Stores
– Greater than the Minimum Spanning Tree
– Probably larger than the TSP
– Easy to work with
• Different cost per mile for Delivery than for Line Haul– Usually several smaller vans
– Usually more surface streets
– More time spent stopping
4848
Minimize Weekly Transport Costs
• Delivery– Delivery $/mile * Distance from Store to
Pool
• Line Haul– Line Haul $/mile * Distance from Pool to
Cross Dock*# of Truckloads
• Shipments to the Cross Dock– Line Haul $/mile * Distance from each
Plant to Cross Dock*# of Truckloads
4949
Strategy
• Separate Costs & Assignments to facilitate ATL heuristic
• Calculate Costs from each Pool to each Store • “Best” Assignments use cheapest Pool• Keep 2 Assignments
– “Current” Assignments – what was best before– “Best” Assignments – using cheapest pool
• Use Costs to improve Pool and Cross Dock locations given “Current” Assignments
• Use “Best” Assignments to update Assignments
5050
Challenge 7
• Use the ALT Heuristic Idea to find good locations for the Cross Docks and the Pools
• Repeat the exercise for different #’s of Pools and show how Transportation Costs change with the # of Pools.
• Identify shortcomings of this approach• Identify alternative SC structures to
consider
5151
Questions?
5252
Challenge 3
• Team Presentations
5353
Challenge 3
• Minimum of each rate range– 147 – 404 at 170.19/CWT
• Discounted cost/shipment at 147 lbs = $75.05
• Total Transport Cost = $6,382 – 85+ = 12,500/147 shipments
• Cycle inventory cost = $817– 147 lbs/5 lbs/unit/2 * $300/unit * 18.5%
– Why divide by 2?
• Pipeline cost = $1900– 12,500 lbs/5 lbs/unit * $300/unit/365 days/year *
5 days * 18.5%
– Total Cost: $9,100
5454
Challenge 3
• Minimum of each rate range– 501 – 851 at $137.85/CWT
• Total Cost: $9,854
– 1,001 – 1,681 at $117.38/CWT• Total Cost: $11,866
– 2,001 – 4,346 at $98.70/CWT• Total Cost: $16,723
– …
5555
Challenge 3• EOQ calculations
– At min charge: $75.02 for up to 146 lbs
– EOQ Units: 82
– EOQ Weight: 410 lbs – exceeds limit
– Shipment size: 145 lbs or 29 units
– Transport Cost: $6,468 = 2,500/29*75.02
– Cycle Inventory Cost: $806 = 29/2*$300*18.5%
– Pipeline Inventory: $1,900
– Total Cost: $9,174
300%*5.18500,2*02.75$*2
5656
Challenge 3• EOQ calculations
– At 500 lbs shoulder
– EOQ units = 136
– Applicable units = 100
– Total Cost = $9,850
• Recommended shipment size: 150 lbs or 30 units at $170.19/CWT
300%*5.18500,2*02.75$*2
5757
Challenge 4• Detailed Analysis by Store for each Plant• I used
– Min Charge– 500 lb– 1,000 lb– 2,000 lb– 5,000 lb– 10,000 lb– FTL
• Distinct value densities drive distinct solutions– Green Bay: Every store used Min Charge– Denver: With 2 exceptions, every store used 10,000 or FTL– Indianapolis: Every store used 500 or 1,000 lb shipments
5858
Our Company Our CompanyIncome Statement (all figures in 000's) Balance Sheet (all figures in 000's)
% of RevenueRevenue 450,000$ 100% AssetsCOGS 303,990$ 67.6% Current Assets:
Raw Materials 300,000$ 66.7% Cash and cash equivalents 5,000$ Transportation 2,580$ 0.6% Trade accounts receivables 18,493$ Labor 1,410$ 0.3% Inventory 6,881$
Gross Margin 146,010$ 32.4% At Green Bay 5$
SG&A 26,200$ 5.8% At Indianapolis 20$ Other Operating Expenses 500$ 0.1% At Denver 27$ Operating Income 119,310$ 26.5% At Stores 5,164$ Other Income -$ 0.0% Pipeline 1,666$ Financial Expenses 6,878$ 1.5% Other current assets 2,500$ Income before Taxes 112,432$ 25.0%Provision for Taxes 27,996$ 6.2% Total Current Assets 32,874$ Consolidated Net Income 84,436$ 18.8% Property & Equipment, net 260,000$
Other Assets 1,000$
Total Assets 293,874$ NOPAT 91,315$ Invested Capital 263,889$ Liabilities & Stockholders' EquitySPEED 1.71 Current Liabilities:ROIC 35% Accounts Payable 24,985$ DSO 15 days Short-term debt 6,881$ DII 8 daysDPO 30 days Total Current Liabilities 31,866$ Cash-to-Cash Cycle (7) days Long-term debt 130,000$
Other Liabilities 250Cost of Capital 6.4%Inventory Carrying Cost 18.5% Total Liabilities 162,116$ Cost of Inventory 1,272$
Total Stockholder's Equity 131,758$
Total Liabilities and Stockholders' Equity 293,874$
5959
Summary • Direct Full Truckloads
– $158 million in inventory– $435 thousand in transportation– Gross Margin % = 33%– SPEED = 1.08– ROIC = 23%
• Single EOQ to All Stores– $15.8 million in inventory– $2.54 million in transportation– Gross Margin % = 32.5%– SPEED = 1.65– ROIC = 34%
• Different EOQ shipments– $15.2 million in inventory– $2.47 million in transportation– Gross Margin % = 32.5%– SPEED = 1.65– ROIC = 34%
• LTL EOQ – $6.88 million in inventory– $2.58 million in transportation– Gross Margin % = 32.4%– SPEED = 1.71– ROIC = 35%
Working harder & harder to achieve smaller and
smaller impacts
6060
Changing the Rules• From FTL to LTL• Changing the network: Consolidation
– Challenge 6: October 4th
– Challenge 7: October ?• Combining LTL and network revisions
– Small & Big challenges• Comment: ALT heuristic is a heuristic, but
data are estimates. Does it make sense to work hard to get exact answers to approximate questions? Do the easiest thing first, work harder if it’s worth it.
6161
Review
• Consolidation for balance
• Consolidation for transport: Pool points
• Simple model – ignore inbound costs
• Complex model – consider inbound costs
6262
A More Complex Model
• The current model assigns each store to the Pool closest to it
• It ignores the costs of getting product to the Pool
• Example: Pool 8 only serves 2 Stores so the Line Haul is very expensive
• Objective: Develop an Assignment model that considers this cost as well.
6363
A More Complex Model
• Integer Programming Model– Linear Programming Model– Variables must be 0 or 1
• Who is familiar with Linear Programming?– Read Chapters 1 & 2 of Chvatal
• Who is familiar with Integer Programming?– Read Sections 2.4 – 2.9 of Der-San Chen et al.
6464
A More Complex Model
• Three tasks in building an LP or IP or MIP model:– The Decision Variables: What we can change– The Objective Function: What we are trying to
accomplish– The Constraints: The limits to our choices
• The Objective Function and Constraints must by Linear– Sum of Constant*Decision Variable
6565
A More Complex Model
• The Objective– Minimize Transportation Costs from the Cross
Dock to the Stores• Cross Dock to the Pool
– Line Haul Cost * Distance * # of Trucks/week
• Pool to the Store– Delivery Cost*Distance
• The Decision Variables– Assignments of Stores to Pools
• zij = 1 if Store i assigned to Pool j, 0 otherwise
6666
A More Complex Model
• The Constraints– Each Store is assigned to 1 Pool
– For each Store i
– zij is Binary (0 or 1)
1ijj
z
6767
The Objective• Minimize Transportation Costs from the Cross Dock to
the Stores– Cross Dock to the Pool
• Line Haul Cost * Distance * # of Trucks/week– Line Haul Cost is a constant, e.g., $1/mile– Once we fix locations of the Pool and the Cross Dock,
Distance from the Cross Dock to each Pool is a constant (This is the advantage of the ALT heuristic)
– # of Trucks/week • Must be enough to carry one week sales at the stores served by
the pool.• Must be at least one• Doesn’t need to be an integer since we can bring extra one week
and fewer the next. Though there is some inventory impact
6868
New Variables & Constraints
• Add new variables to capture this– Tj = the average number of trucks we run from the
Cross Dock to Pool j each week. This should be restricted to integer values.
• Need new Constraints to enforce these definitions– There are enough trucks to carry the load to each
Pool each week
6969
Challenge
• Formulate linear constraints to model these conditions
7272
Questions?
7474
ODBC
• Open Data Base Connectivity:– Read model data from Access, Excel, SQL Server,
…
table PoolTable IN "ODBC"
"DSN=OptimizationData"
"SQL=SELECT Pool, Distance AS LineHaulDist from PoolData":
POOLS <-[Pool], LineHaulDist;
read table PoolTable;
Ample name for the table
For reading
Access via ODBC
ODBC Data Source Name
Reading instructions
Mapping to AMPL model ParametersCommand to read the
table
7575
Model
• Pools– set POOLS;– param LineHaulDist{POOLS};
• Stores– set STORES;
• Delivery (Pool to Store)– set DELIVERYLEGS dimen 2;– param DeliveryDist{DELIVERYLEGS};
Model requires a set of Pools
Each pool has data called
LineHaulDist
Model requires a set of Stores
Model requires a set of pairs (Pool, Store)
Each pair has data called
DeliveryDist
7676
Model
• Other Data – param LineHaulCost := 1.00;– param DeliveryCost := 1.75;– param LbsPerTruck := 30000;– param WeightPerWeekPerStore := 5*10*55;
• Better if this is read from a table, but…• Model Variables
– var Open{POOLS} binary;– var Trucks{POOLS} integer;– var Assign{DELIVERYLEGS} binary;
A binary variable for each pool
An integer variable for each pool
A binary variable for each (Pool, Store) pair
7777
Model
• minimize TotalTransportCost: sum{pool in POOLS}
LineHaulCost*LineHaulDist[pool]*Trucks[pool]+
sum{(pool,store) in DELIVERYLEGS} DeliveryCost*DeliveryDist[pool,store]*
Assign[pool,store];
• s.t. AssignEachStore{store in STORES}:• sum{(pool,store) in DELIVERYLEGS}
Assign[pool,store] = 1;
The objective is to minimize total
transportation cost
Total Line Haul cost
Total delivery cost
A constraint for each store
Assign the store to exactly 1 pool
7878
Model
• s.t. EnoughTrucksToCarryLoad{pool in POOLS}:• Trucks[pool] >= WeightPerWeekPerStore*sum{(pool,
store) in DELIVERYLEGS}Assign[pool,store]/LbsPerTruck;
• s.t. AtLeastOneTruckToOpenPool{pool in POOLS}:• Trucks[pool] >= Open[pool];
• s.t. DontAssignStoresToClosedPools{(pool,store) in DELIVERYLEGS}:
• Open[pool] >= Assign[pool, store];
A constraint for each pool
Enough trucks to carry all the demand it serves
And at least one truck if the pool is open
If the pool is closed, it can’t serve any stores
7979
Solve & Report
• option solver cplex• solve;
• table DeliveryOut OUT "ODBC"• "DSN=OptimizationData"• "DeliveryOut":• {pool in POOLS, store in STORES:
Assign[pool, store] > 0.01}->[pool, store];
• write table DeliveryOut;
Select a solver
Solve the problem
Write out the solution
If the pool is closed, it can’t serve any stores
Just write out the “active” assignments
8080
Challenge
• For you to think about (no presentation):– What if we had more than one Cross Dock?– How would the model change?
8181
Zone Skipping
• Original applications from bulk mail
• Where do we give the mail to the USPS?– Close to origin?
• Our cost to get mail to the USPS is low
• Mail crosses several zones so rates are high
– Close to destination?• Our cost to get mail to the USPS is high
• Mail delivered “locally” so rates are low
8282
Zone Skipping
• LTL application• We send (or manage) large volume of
small LTL shipments from a limited number of origins
• Where should we give the freight to the LTL carrier?– Close to the origin? – Close to the destination?
• We pay TL rates to get it to the LTL terminal
8383
A Model• Fixed set of candidate LTL terminals to
deliver mail to• Includes our origin (LTL door-to-door)• Appropriately aggregated shipments
– Origin– Destination– Class– Weight– Ship date– Special handling requirements
Aggregate as much as is appropriate e.g., destination region (3-digit zip) and weight range (e.g., LTL ranges)
Rarely a dynamic model so we want averages (per day or perhaps longer depending on service commitment)
Some concern about variability/
8484
A Model
• How do we get shipments (of this category) from this terminal to this destination (e.g. 3-digit zip)?– LTL door-to-door?– TL to LTL terminal A and LTL from there– TL to LTL terminal B and LTL from there– …
• Very similar to our pool point model– LTL from terminal to destination is analogous to delivery – TL to LTL terminal is analogous to Line Haul– New option is just go LTL all the way
• Zij = 1 if we assign destination j to LTL terminal i• Zi = 1 if we deliver LTL direct to destination I
1 ij
ij zz
8585
A Model• LTL Cost from LTL terminal to customer is
analogous to “Delivery cost”. Now we can use rating engine to estimate it
• TL Cost from our origin to the LTL terminal is analogous to Line Haul Cost, based on distance and # of trucks per period
• LTL Direct cost from our origin to the destination is new. Use the rating engin to produce it.
• Model decides which ones to pay