1 1 ISyE 6203 Location John H. Vande Vate Spring 2012

Preview:

Citation preview

11

ISyE 6203Location

John H. Vande Vate

Spring 2012

22

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

33

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

44

1-D Academic Model

• Problem: Locate a point x on the line to minimize the total (weighted) distance to a fixed set of customer locations xi

• di(x) =

• Min or Min

ii xxxx 2)(

i

i xd )( i

ii xdw )(

55

1-D Solution

• Where to put x?

• What kind of function is |x – xi|?

• What kind of function is |x – xi|?

• So? • What is a local minimum?

• What if we have 2 points x1 and x2?

66

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

wd x y

77

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

88

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

99

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

1010

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

1111

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

1212

General Case: 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

1313

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

1515

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

1616

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

1717

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

1818

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

cjDz

1919

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?

2020

Agenda

• Team Presentations– Challenge 3– Challenge 4

• Location– Making the ALT Heuristic Practical

2121

2121

Challenge 3

• Determine the appropriate mode and shipping quantity from Green Bay to Store #2 in Los Angeles.

• Briefly describe the thinking behind your calculations

• Due Jan 31st

2222

Challenge 3TL 1,455.50$ Min Charge 75.02$ Discount 70%

Rate Best Cost 9,119$

From To ($/CWT) At Min of Range Discounted Transport CostCycle Inventory

Cost Pipeline Cost Total Cost

Shipment Quantity (units) Rate Range

- 146 75.02$ Min Charge EOQ below147 404 51.06$ 75.05$ 6,382$ 834$ 1,903$ 9,119$ 30 At 51.06/CWT405 500 206.77$ 62.03$ First Shoulder EOQ below501 851 41.35$ 207.18$ 62.16$ 5,169$ 2,807$ 1,903$ 9,879$ 101 At 41.35/CWT852 1,000 352.14$ 105.64$ Second Shoulder EOQ below

1,001 1,681 35.21$ 352.49$ 105.75$ 4,402$ 5,586$ 1,903$ 11,891$ 201 At 35.21/CWT1,682 2,000 592.21$ 177.66$ Third Shoulder EOQ below2,001 4,346 29.61$ 592.50$ 177.75$ 3,701$ 11,144$ 1,903$ 16,748$ 401 At 29.61/CWT4,347 5,000 1,287.15$ 386.14$ Fourth Shoulder EOQ below5,001 8,200 25.74$ 1,287.40$ 386.22$ 3,218$ 27,818$ 1,903$ 32,939$ 1,001 At 25.74/CWT8,201 10,000 2,111.15$ 633.35$ Fifth Shoulder EOQ below

10,001 13,819 21.11$ 2,111.36$ 633.41$ 2,639$ 55,607$ 1,903$ 60,150$ 2,001 At 21.11/CWT13,820 30,000 2,917.46$ 875.24$ Truckload EOQ below

Annual Weight From Green Bay to Store #212,500 lbs

300$ $/unit18.5% Inventory Carrying %

Transit timesTL 4 daysLTL 5 days

Weight (lbs)

With Fuel Surcharge and discount

Shipment Quantity of 30 (again just above the maximum quantity that incurs the min charge) is best

2323

2323

Challenge 4

• Roll this strategy out to all Stores. Determine the appropriate mode and shipping quantity to every store

• Remember to keep it practical. • Briefly describe the thinking behind your

calculations• What are the impacts on SPEED, ROIC and

Margin?• What would you do next as VP of SC?• Due Jan 31st

2424

Challenge 4

• Start with a few “representative” stores distributed across the country

• Develop some insight from thatClass 70

Discount 70% Longitude Latitude ZIPFuel Surcharge 24.2% -88.074 44.491 54304 Annual Weight to Store 12,500 Annual Value To Store 750,000$ Average Value per Lb 60.00$

Store Number ZIP Location Longitude LatitudeMin

Charge500 lb Rate

1000 lb Rate

2000 lb Rate

5000 lb Rate

10000 lb Rate TL Rate

Min Charge Total Cost

Total Cost @ 500 lbs

1000 lb Total Cost

2000 lb Total Cost

5000 lb Total Cost

10000 lb Total Cost

TL Total Cost

Min Total Cost

1 10199 NEW YORK, NY -73.58 40.47 59.94$ 173.82$ 257.80$ 457.63$ 907.47$ 1,626.77$ 1,906.44$ 5,855$ 7,120$ 8,773$ 13,960$ 30,019$ 57,533$ 167,294$ 5,855$ 2 90052 LOS ANGELES, CA -118.24 33.56 75.02$ 206.77$ 352.14$ 592.21$ 1,287.15$ 2,111.15$ 4,846.72$ 7,198$ 7,944$ 9,952$ 14,801$ 30,968$ 58,139$ 168,519$ 7,198$ 3 83708 BOISE, ID -87.38 41.53 65.03$ 178.55$ 304.04$ 511.28$ 1,111.65$ 1,822.76$ 2,801.72$ 6,329$ 7,239$ 9,351$ 14,296$ 30,529$ 57,778$ 167,667$ 6,329$ 4 38101 MEMPHIS, TN -95.21 29.58 39.64$ 139.04$ 238.24$ 442.20$ 823.63$ 1,476.99$ 1,210.48$ 4,811$ 6,251$ 8,528$ 13,864$ 29,809$ 57,346$ 167,004$ 4,811$ 5 19104 PHILADELPHIA, PA -75.15 39.53 51.90$ 148.98$ 248.90$ 441.68$ 876.54$ 1,570.51$ 1,640.33$ 5,204$ 6,500$ 8,661$ 13,861$ 29,941$ 57,463$ 167,183$ 5,204$ 6 85026 PHOENIX, AZ -112.01 33.26 69.14$ 190.14$ 323.83$ 544.52$ 1,183.75$ 1,941.62$ 3,610.80$ 6,685$ 7,528$ 9,598$ 14,503$ 30,709$ 57,927$ 168,005$ 6,685$ 7 78710 AUSTIN, TX -98.28 29.32 50.86$ 203.01$ 357.40$ 678.21$ 1,281.56$ 2,291.49$ 3,082.43$ 6,460$ 7,850$ 10,017$ 15,339$ 30,954$ 58,364$ 167,784$ 6,460$ 8 90802 LONG BEACH, CA -117.10 32.44 75.02$ 206.77$ 352.14$ 592.21$ 1,287.15$ 2,111.15$ 4,860.68$ 7,198$ 7,944$ 9,952$ 14,801$ 30,968$ 58,139$ 168,525$ 7,198$ 9 38101 MEMPHIS, TN -96.51 32.51 39.64$ 139.04$ 238.24$ 442.20$ 823.63$ 1,476.99$ 1,210.48$ 4,811$ 6,251$ 8,528$ 13,864$ 29,809$ 57,346$ 167,004$ 4,811$

10 95101 SAN JOSE, CA -121.56 37.22 76.78$ 211.75$ 360.60$ 606.37$ 1,318.26$ 2,161.45$ 5,217.08$ 7,350$ 8,069$ 10,058$ 14,890$ 31,046$ 58,202$ 168,674$ 7,350$ 11 02205 BOSTON, MA -83.01 42.25 53.79$ 159.71$ 266.86$ 473.35$ 939.70$ 1,684.15$ 2,010.09$ 5,492$ 6,768$ 8,886$ 14,058$ 30,099$ 57,605$ 167,338$ 5,492$ 12 46206 INDIANAPOLIS, IN -86.17 39.44 34.84$ 123.09$ 182.13$ 298.01$ 533.94$ 921.07$ 681.41$ 4,471$ 5,852$ 7,827$ 12,963$ 29,085$ 56,651$ 166,784$ 4,471$ 13 33022 HOLLYWOOD, FL -81.42 30.30 59.74$ 256.91$ 390.30$ 643.85$ 1,171.08$ 1,462.83$ 2,645.00$ 7,778$ 9,198$ 10,429$ 15,124$ 30,678$ 57,329$ 167,602$ 7,778$ 14 94188 SAN FRANCISCO, CA -122.23 37.37 75.02$ 206.77$ 352.14$ 592.21$ 1,287.15$ 2,111.15$ 5,151.83$ 7,198$ 7,944$ 9,952$ 14,801$ 30,968$ 58,139$ 168,647$ 7,198$ 15 43216 COLUMBUS, OH -82.53 40.00 35.40$ 132.66$ 196.43$ 321.33$ 575.48$ 994.10$ 1,031.94$ 4,734$ 6,092$ 8,005$ 13,108$ 29,189$ 56,743$ 166,930$ 4,734$ 16 38101 MEMPHIS, TN -97.42 30.18 39.64$ 139.04$ 238.24$ 442.20$ 823.63$ 1,476.99$ 1,210.48$ 4,811$ 6,251$ 8,528$ 13,864$ 29,809$ 57,346$ 167,004$ 4,811$ 17 37950 KNOXVILLE, TN -90.00 35.03 45.87$ 159.96$ 240.59$ 382.21$ 677.76$ 880.08$ 1,236.89$ 5,517$ 6,774$ 8,557$ 13,489$ 29,444$ 56,600$ 167,015$ 5,517$ 18 21202 BALTIMORE, MD -76.40 39.11 51.31$ 145.52$ 243.16$ 431.55$ 856.23$ 1,534.74$ 1,534.85$ 5,113$ 6,413$ 8,589$ 13,797$ 29,891$ 57,418$ 167,140$ 5,113$ 19 38101 MEMPHIS, TN -97.03 32.50 39.64$ 139.04$ 238.24$ 442.20$ 823.63$ 1,476.99$ 1,210.48$ 4,811$ 6,251$ 8,528$ 13,864$ 29,809$ 57,346$ 167,004$ 4,811$ 20 10199 NEW YORK, NY -80.56 35.13 59.94$ 173.82$ 257.80$ 457.63$ 907.47$ 1,626.77$ 1,906.44$ 5,855$ 7,120$ 8,773$ 13,960$ 30,019$ 57,533$ 167,294$ 5,855$ 21 38101 MEMPHIS, TN -106.24 31.48 39.64$ 139.04$ 238.24$ 442.20$ 823.63$ 1,476.99$ 1,210.48$ 4,811$ 6,251$ 8,528$ 13,864$ 29,809$ 57,346$ 167,004$ 4,811$ 22 53203 MILWAUKEE, WI -87.54 42.57 33.91$ 89.65$ 132.57$ 232.13$ 430.73$ 728.81$ 600.00$ 3,641$ 5,016$ 7,207$ 12,551$ 28,827$ 56,411$ 166,750$ 3,641$

Green Bay

2525

Observations

• Best to send the minimum to EVERY store from Green Bay – High Value Density

• Best to send 1,000 lb shipment to every store (except 9 stores)– Just shipping 1,000 lbs shipments leaves

under $3,000 on the table– Medium Value Density

2626

Denver

• Best to send either 10,000 lbs or TL EOQ to every store except 2 in Colorado– Just using the TL EOQ leaves about $65K

on the table– Low value density

2727

Logic?

2828

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

2929

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

3030

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

3131

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

3232

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)

• Included in RadicalTools as rlDirectDistance

3333

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

3434

As the Crow FliesStore

Number ZIP Location Longitude Latitude Distance to Cross Dock

1 10199 NEW YORK, NY -73.58 40.47 1,101 Longitude Latitude Longitude Latitude Longitude Latitude2 90052 LOS ANGELES, CA -118.24 33.56 1,379 -88.074 44.491 -86.241 39.742 -104.899 39.6473 83708 BOISE, ID -87.38 41.53 400 4 38101 MEMPHIS, TN -95.21 29.58 664 Green Bay Indianapolis Denver5 19104 PHILADELPHIA, PA -75.15 39.53 1,022 Green Bay - 341 922 6 85026 PHOENIX, AZ -112.01 33.26 1,063 Indianapolis 341 - 989 7 78710 AUSTIN, TX -98.28 29.32 716 Denver 922 989 - 8 90802 LONG BEACH, CA -117.10 32.44 1,352 9 38101 MEMPHIS, TN -96.51 32.51 476 Longitude Latitude

10 95101 SAN JOSE, CA -121.56 37.22 1,477 Cross Dock -94.33 39.18 INDEPENDENCE, MO11 02205 BOSTON, MA -83.01 42.25 629 12 46206 INDIANAPOLIS, IN -86.17 39.44 436 CWT-miles per day to the cross dock13 33022 HOLLYWOOD, FL -81.42 30.30 953 From Green Bay Indianapolis Denver Total14 94188 SAN FRANCISCO, CA -122.23 37.37 1,510 24,383 86,562 169,134 280,079 15 43216 COLUMBUS, OH -82.53 40.00 630 16 38101 MEMPHIS, TN -97.42 30.18 645 CWT-miles per day from the cross dock 458,713 17 37950 KNOXVILLE, TN -90.00 35.03 372 18 21202 BALTIMORE, MD -76.40 39.11 958 Total 738,792 19 38101 MEMPHIS, TN -97.03 32.50 485 20 10199 NEW YORK, NY -80.56 35.13 806 21 38101 MEMPHIS, TN -106.24 31.48 854

Green Bay Indianapolis Denver

Location

3535

Over-The-Road Distances• Available from many sources

– CzarLite– MapPoint– Radical Tools– PC Miler (rlPCMiler(OZip, DZip) in Radical Tools if you have PCMiler)– ….

• 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.

3636

With OTR distances

• Why didn’t that work?• If you are going to use OTR distances, they need

to be calculated based on lat-long not zip code or other aggregate

Store Number ZIP Location Longitude Latitude

Distance to Cross Dock

1 10199 NEW YORK, NY -73.58 40.47 864 Longitude Latitude Longitude Latitude Longitude Latitude2 90052 LOS ANGELES, CA -118.24 33.56 2,167 -88.074 44.491 -86.241 39.742 -104.899 39.6473 83708 BOISE, ID -87.38 41.53 671 4 38101 MEMPHIS, TN -95.21 29.58 795 Green Bay Indianapolis Denver5 19104 PHILADELPHIA, PA -75.15 39.53 741 Green Bay - 341 922 6 85026 PHOENIX, AZ -112.01 33.26 1,794 Indianapolis 341 - 989 7 78710 AUSTIN, TX -98.28 29.32 978 Denver 922 989 - 8 90802 LONG BEACH, CA -117.10 32.44 2,114 9 38101 MEMPHIS, TN -96.51 32.51 766 Longitude Latitude

10 95101 SAN JOSE, CA -121.56 37.22 2,393 Cross Dock -84.39 33.77 ATLANTA, GA11 02205 BOSTON, MA -83.01 42.25 714 12 46206 INDIANAPOLIS, IN -86.17 39.44 507 CWT-miles per day to the cross dock13 33022 HOLLYWOOD, FL -81.42 30.30 329 From Green Bay Indianapolis Denver Total14 94188 SAN FRANCISCO, CA -122.23 37.37 2,459 45,116 105,130 416,211 566,457 15 43216 COLUMBUS, OH -82.53 40.00 596 16 38101 MEMPHIS, TN -97.42 30.18 938 CWT-miles per day from the cross dock 579,204 17 37950 KNOXVILLE, TN -90.00 35.03 396 18 21202 BALTIMORE, MD -76.40 39.11 686 Total 1,145,661

Green Bay Indianapolis Denver

Location

3737

With OTR distances

• A crude fix that smoothes things out?• But …• In MapPoint…

Store Number ZIP Location Longitude Latitude

Distance to Cross Dock

1 10199 NEW YORK, NY -73.58 40.47 865 Longitude Latitude Longitude Latitude Longitude Latitude2 90052 LOS ANGELES, CA -118.24 33.56 2,166 -88.074 44.491 -86.241 39.742 -104.899 39.6473 83708 BOISE, ID -87.38 41.53 670 4 38101 MEMPHIS, TN -95.21 29.58 795 Green Bay Indianapolis Denver5 19104 PHILADELPHIA, PA -75.15 39.53 742 Green Bay - 341 922 6 85026 PHOENIX, AZ -112.01 33.26 1,793 Indianapolis 341 - 989 7 78710 AUSTIN, TX -98.28 29.32 977 Denver 922 989 - 8 90802 LONG BEACH, CA -117.10 32.44 2,113 9 38101 MEMPHIS, TN -96.51 32.51 765 Longitude Latitude Longitude Latitude Dist from Centroid

10 95101 SAN JOSE, CA -121.56 37.22 2,392 Cross Dock -84.39 33.77 30308 33.76953 -84.37695 0.7511 02205 BOSTON, MA -83.01 42.25 715 12 46206 INDIANAPOLIS, IN -86.17 39.44 506 CWT-miles per day to the cross dock13 33022 HOLLYWOOD, FL -81.42 30.30 330 From Green Bay Indianapolis Denver Total14 94188 SAN FRANCISCO, CA -122.23 37.37 2,458 45,116 105,130 416,211 566,457 15 43216 COLUMBUS, OH -82.53 40.00 597 16 38101 MEMPHIS, TN -97.42 30.18 938 CWT-miles per day from the cross dock 579,056 17 37950 KNOXVILLE, TN -90.00 35.03 396 18 21202 BALTIMORE, MD -76.40 39.11 687 Total 1,145,513

Green Bay Indianapolis Denver

Zip CodeCentroid

3838

Implementing ALT

• Separate – Allocation: Which dc is each store assigned

to?– Location: Where should each dc be?

Location KEANSBURG, NJ SANTA ANA, CA FORT WAYNE, IN GOSHEN, AL LIBERTY, NC ALBUQUERQUE, NM SKIDMORE, TX JACUMBA, CA TULSA, OK ACAMPO, CA FORT WAYNE, INDelivery Cost/Mile 1.75$ Name Pool 1 Pool 2 Pool 3 Pool 4 Pool 5 Pool 6 Pool 7 Pool 8 Pool 9 Pool 10 Cross Dock

Line Haul Cost/Mile 1.00$ Longitude -74.12 -117.80 -85.11 -86.07 -79.47 -106.37 -97.59 -116.21 -95.82 -121.21 -85.13Latitude 40.48 33.77 40.99 31.82 35.84 35.04 28.20 32.60 36.21 38.23 41.00

Store Number ZIP Longitude Latitude Pool 1 Pool 2 Pool 3 Pool 4 Pool 5 Pool 6 Pool 7 Pool 8 Pool 9 Pool 10 Minimum Delivery Cost

1 10199 -73.58 40.47 43$ 3,676$ 604$ 1,373$ 678$ 2,725$ 2,401$ 3,601$ 1,853$ 2,515$ 43$ 2 90052 -118.24 33.56 3,676$ 43$ 2,816$ 2,797$ 3,286$ 1,026$ 1,913$ 202$ 1,919$ 544$ 43$ 3 83708 -87.38 41.53 1,040$ 2,604$ 185$ 1,011$ 868$ 1,678$ 1,627$ 2,539$ 874$ 2,691$ 185$ 4 38101 -95.21 29.58 2,105$ 2,032$ 1,455$ 845$ 1,513$ 1,127$ 259$ 1,884$ 689$ 2,396$ 259$ 5 19104 -75.15 39.53 128$ 3,558$ 801$ 1,215$ 521$ 2,599$ 2,247$ 3,478$ 1,719$ 3,672$ 128$ 6 85026 -112.01 33.26 3,199$ 503$ 2,348$ 2,262$ 2,774$ 517$ 1,384$ 371$ 1,409$ 928$ 371$ 7 78710 -98.28 29.32 2,342$ 1,780$ 1,640$ 1,118$ 1,770$ 923$ 132$ 1,625$ 745$ 2,170$ 132$ 8 90802 -117.10 32.44 3,636$ 151$ 2,780$ 2,711$ 3,223$ 961$ 1,795$ 79$ 1,857$ 693$ 79$ 9 38101 -96.51 32.51 2,030$ 1,847$ 1,288$ 917$ 1,497$ 887$ 457$ 1,716$ 388$ 2,160$ 388$

10 95101 -121.56 37.22 3,793$ 477$ 2,932$ 3,059$ 3,474$ 1,288$ 2,279$ 659$ 2,132$ 109$ 109$

Delivery Costs to each Store Using Each Pool

Guess initial DC locations

Compute distances to each pool

3939

Assignments

• Location problem uses static current assignments• Allocation problem simply copies “best” assignments

over to the current assignments

Store Number ZIP Longitude Latitude Pool 1 Pool 2 Pool 3 Pool 4 Pool 5 Pool 6 Pool 7 Pool 8 Pool 9 Pool 10 Pool 1 Pool 2 Pool 3 Pool 4 Pool 5 Pool 6 Pool 7 Pool 8 Pool 9 Pool 10

1 10199 -73.58 40.47 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 02 90052 -118.24 33.56 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 03 83708 -87.38 41.53 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 04 38101 -95.21 29.58 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 05 19104 -75.15 39.53 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 06 85026 -112.01 33.26 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 07 78710 -98.28 29.32 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 08 90802 -117.10 32.44 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 09 38101 -96.51 32.51 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0

10 95101 -121.56 37.22 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 111 02205 -83.01 42.25 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 012 46206 -86.17 39.44 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0

Best Assignments Given Pool Locations Current Assignments

Select arbitrary initial

assignments

Compute best assignments

based on distances

These are static values

These change as the locations of the dcs

change

4040

Let’s Try It

• Choose initial DC locations• Update Assignments• Adjust Locations• …• How Many DCs?• Fixed DC locations? Eg., existing facilities

Location KEANSBURG, NJ SANTA ANA, CA FORT WAYNE, IN GOSHEN, AL LIBERTY, NC ALBUQUERQUE, NM SKIDMORE, TX JACUMBA, CA TULSA, OK ACAMPO, CA FORT WAYNE, INDelivery Cost/Mile 1.75$ Name Pool 1 Pool 2 Pool 3 Pool 4 Pool 5 Pool 6 Pool 7 Pool 8 Pool 9 Pool 10 Cross Dock

Line Haul Cost/Mile 1.00$ Longitude -74.12 -117.80 -85.11 -86.07 -79.47 -106.37 -97.59 -116.21 -95.82 -121.21 -85.13Latitude 40.48 33.77 40.99 31.82 35.84 35.04 28.20 32.60 36.21 38.23 41.00

Store Number ZIP Longitude Latitude Pool 1 Pool 2 Pool 3 Pool 4 Pool 5 Pool 6 Pool 7 Pool 8 Pool 9 Pool 10 Minimum Delivery Cost

1 10199 -73.58 40.47 43$ 3,676$ 604$ 1,373$ 678$ 2,725$ 2,401$ 3,601$ 1,853$ 2,515$ 43$ 2 90052 -118.24 33.56 3,676$ 43$ 2,816$ 2,797$ 3,286$ 1,026$ 1,913$ 202$ 1,919$ 544$ 43$ 3 83708 -87.38 41.53 1,040$ 2,604$ 185$ 1,011$ 868$ 1,678$ 1,627$ 2,539$ 874$ 2,691$ 185$ 4 38101 -95.21 29.58 2,105$ 2,032$ 1,455$ 845$ 1,513$ 1,127$ 259$ 1,884$ 689$ 2,396$ 259$ 5 19104 -75.15 39.53 128$ 3,558$ 801$ 1,215$ 521$ 2,599$ 2,247$ 3,478$ 1,719$ 3,672$ 128$ 6 85026 -112.01 33.26 3,199$ 503$ 2,348$ 2,262$ 2,774$ 517$ 1,384$ 371$ 1,409$ 928$ 371$ 7 78710 -98.28 29.32 2,342$ 1,780$ 1,640$ 1,118$ 1,770$ 923$ 132$ 1,625$ 745$ 2,170$ 132$ 8 90802 -117.10 32.44 3,636$ 151$ 2,780$ 2,711$ 3,223$ 961$ 1,795$ 79$ 1,857$ 693$ 79$ 9 38101 -96.51 32.51 2,030$ 1,847$ 1,288$ 917$ 1,497$ 887$ 457$ 1,716$ 388$ 2,160$ 388$

10 95101 -121.56 37.22 3,793$ 477$ 2,932$ 3,059$ 3,474$ 1,288$ 2,279$ 659$ 2,132$ 109$ 109$

Delivery Costs to each Store Using Each Pool

4141

Questions?

4242

Projects• Halstead/Vertex – flooring supplier to HD.

– How best to use our 3 domestic DCs one of which is owned– Technically simple, but business value?

• Acumen Fund ZHL Ziqitza– Where to station and how to dispatch ambulances in Mumbai– Balance technical sophistication with practicality and impact

• Tiffany’s– UPS vs Brinks. – Financial analysis

• Staples– How to dynamically allocate labor among functions in a DC– Prototype to evaluate impact

• Noranda – Integrated bauxite mining, aluminum smelting– Planning transport from mines in Jamaica to plants in the mid West– More details tomorrow

4343

Preferences

• If your project teams are different, send me new team info

• Each team contact send me– Resumes of the team (file name should reflect the

person’s name, not “resume.pdf”)

– Preferences (1 is most preferred, 5 is least preferred)

• Due by end of business Friday (5pm)• Set up calls next week or soon after

4444

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

4545

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

4646

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

4747

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

4848

Delivery

• Let’s first look at the TSP: Weekly Delivery Route

• Traveling Salesman Problem– Visit a set of cities once and return to your

starting point– Minimize total travel distance

4949

The Spanning Tree Heuristic

• A Spanning Tree is a – Tree: connected, no cycles ignoring

direction– Spanning: Reaches every city

• Easy to find a Minimum Spanning Tree– Greedy Heuristic– Add edges in increasing order of length,

discarding any that creates a cycle– Stop when you have a spanning tree

5050

The Spanning Tree Heuristic

• Theorem: Assuming the Triangle Inequality holds, the shortest TSP tour is never more than twice the length of a Minimum Spanning Tree.

• Proof: Double the edges of a Minimum Spanning Tree. That creates a connected network with an even number of edges at each city. The total length of the edges in this graph is twice the length of the Minimum Spanning Tree. We will find a shorter TSP tour.

5151

Euler’s Problem

• Theorem: In a connected graph with an even number of edges at each node, you can walk on each edge exactly once in such a way that you end up back where you started – an Eulerian Circuit.

• See Chapter 6 of Problem Solving Through Recreational Mathematics by Bonnie Averback and Orin Chein for a discussion of this Theorem and its proof.

5252

The Spanning Tree Heuristic

• Follow the Eulerian Circuit, taking a short cut to the next new node in the Circuit whenever it re-visits before completing the tour

• The result is a TSP tour that is no longer than twice the length of our Minimum Spanning Tree.

5353

Example

5454

Euler Circuit

1

234

5

6

7

8

9

10

1112

13

14

5555

TSP

1

234

5

6

7

8

9

10

1112

13

14

5757

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)

5858

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

5959

Minimize Weekly Transport Costs

• Delivery– Delivery $/mile * Distance from Store to

Pool (a very crude approximation)

• 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

6060

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 we started moving the pools around

– “Best” Assignments – using cheapest pool

• Use Costs to improve Pool and Cross Dock locations given “Current” Assignments

• Use “Best” Assignments to update Assignments

6161

Challenge 8

• Use the ALT Heuristic Idea to find good locations for 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

• Due 2/14

6262

Questions?

6363

Challenge 6: Simple TL Consolidation

• Assume we operate with full truck load shipments using Indianapolis in this way

• Adjust the financial statements to reflect changes in transportation and inventory

• Discuss the impacts, relate them to our initial assessment. Explain the differences.

• What would you do next?• Due Tues, Feb 7th

6464

Summary • Direct Full Truckloads

– $158 million in inventory– $435 thousand in transportation

• Single EOQ to All Stores– $15.8 million in inventory– $2.48 million in transportation

• Different EOQ shipments– $15.2 million in inventory– $2.47 million in transportation

• Simple TL Consolidation – $36.9 million in inventory– $654 thousand in transportation

6565

Summary • Direct Full Truckloads

– Gross Margin %: 32.9%– ROIC 22.9%– SPEED 1.08– Days in Inventory: 191

• Single EOQ to All Stores– Gross Margin %: 32.5%– ROIC 33.5%– SPEED 1.65– Days in Inventory: 19

• Different EOQ shipments– Gross Margin %: 32.5%– ROIC 33.6%– SPEED 1.65– Days in Inventory: 18

• Simple TL Consolidation – Gross Margin %: 32.9%– ROIC: 31.7%– SPEED: 1.53– Days in Inventory: 45

For a small increase

in operating expense, a huge

reduction in Inventory. How?!

6666

Review

• Consolidation for balance

• Consolidation for transport: Pool points

• Simple model – ALT Heuristic– Problem: Doesn’t consider inbound

shipments from Indianapolis to pools in making assignments of stores to pools

6767

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. Why?

• Objective: Develop an Assignment model that considers this cost as well.

6868

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

6969

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

7070

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

7171

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• Restrict to integers?

7272

New Variables & Constraints

• Add new variables to capture this– Tj = the 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

7373

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

• Need new Constraints to enforce these definitions– There are enough trucks to carry the load to each

Pool each week

Tj *5*10*55/30,000 iji

zWeight of 1 weeks sales

7575

Questions?

7777

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

7878

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

7979

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

8080

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

8181

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

8282

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

8484

Observations

• This approach works in the context of the ALT heuristic – move the Pools around

• This approach works in the context of a fixed set of candidate pool locations

8585

Summary • Direct Full Truckloads

– $158 million in inventory– $435 thousand in transportation

• Single EOQ to All Stores– $15.8 million in inventory– $2.48 million in transportation

• Different EOQ shipments– $15.2 million in inventory– $2.47 million in transportation

• Simple TL Consolidation – $36.9 million in inventory– $654 thousand in transportation

• Consolidation with EOQ– $10.5 million in inventory– $1.86 million in transportation

8686

Summary • Direct Full Truckloads

– Gross Margin %: 32.9%– ROIC 22.9%– SPEED 1.08– Days in Inventory: 191

• Single EOQ to All Stores– Gross Margin %: 32.5%– ROIC 33.5%– SPEED 1.65– Days in Inventory: 19

• Different EOQ shipments– Gross Margin %: 32.5%– ROIC 33.6%– SPEED 1.65– Days in Inventory: 18

• Simple TL Consolidation – Gross Margin %: 32.9%– ROIC: 31.7%– SPEED: 1.53– Days in Inventory: 45

• Consolidation with EOQ– Gross Margin %: 32.6%– ROIC: 34.3%– Speed: 1.68– Days in Inventory: 13

8787

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

8888

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

8989

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/

9090

Concave Cost

Shipment Size

Cos

tCost per unit decreasing

So?!

9191

Estimating Rates

Small shipments

Shipment Size

Cos

t

Large shipments

Cost ofAverage shipment

Average shipment

AverageCost of

shipment

9292

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

9393

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

9494

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 cost of overtime and the impacts of overtime on production.

• Due Thursday February 23rd

Recommended