1 1 1-to-Many Distribution Vehicle Routing John H. Vande Vate Spring, 2005.

Post on 29-Dec-2015

222 views 0 download

Transcript of 1 1 1-to-Many Distribution Vehicle Routing John H. Vande Vate Spring, 2005.

11

1-to-Many DistributionVehicle Routing

John H. Vande Vate

Spring, 2005

22

Shared Transportation Capacity

• Large shipments reduce transportation costs but increase inventory costs

• EOQ trades off these two costs

• Reduce shipment size without increasing transportation costs?

• Combine shipments on one vehicle

33

TL vs LTL

Inventory

Transport

Transport

Inventory

44

Shared Loads

Inventory

Transport

Transport?

Inventory

?

55

Issues

• Design Routes that – Minimize the transportation cost– Respect the capacity of the vehicle

• This may require several routes

– Consider inventory holding costs• This may require more frequent visits

66

Our Approach

• Minimize Transportation Cost (Distance)– Traveling Salesman Problem

• Respect the capacity of the Vehicle– Multiple Traveling Salesmen

• Consider Inventory Costs– Estimate the Transportation Cost– Estimate the Inventory Cost– Trade off these two costs.

77

The Traveling Salesman Problem

• Minimize Distance

• s.t. – start at the depot, – visit each customer exactly once,– return to the depot

• A single vehicle no capacity

• Only issue is distance.

88

IP Formulation• Set Cities;

• param d{Cities, Cities};

• var x{Cities, Cities} binary;

• minimize Distance:sum{f in Cities, t in Cities}d[f,t]x[f,t];

• s.t. DepartEachCity{f in Cities}:sum{t in Cities}x[f,t] = 1;

• s.t. ArriveEachCity{t in Cities}:sum{f in Cities}x[f,t] = 1;

99

SubTours

3 cities

3 edges

1010

Eliminating Subtours

• S.t. SubTourElimination

{S subset Cities:

card(S) > 0 and

card(S) < card(Cities)}:

sum{f in S, t in S} x[f,t] <= card(S) - 1;

1111

An Equivalent Statement

3 cities

No edges out

1212

An Equivalent Formulation

• S.t. SubTourElimination

{S subset Cities:

card(S) > 0 and

card(S) < card(Cities)}:

sum{f in S, t not in S} x[f,t] >= 1;

1313

How Many Constraints?

• How many subsets of N items?

• 2N

• Omit 2 subsets:– All N items– The empty set

• 2N - 2

1414

OK, Half of that...

• If we have an edge out of S, we must have an edge out of N\S.

• Why? The edge out of S is an edge into N\S. But there are exactly |N\S| edges into cities in N\S. Since one of them comes from S, not all the edges from cities in N\S can lead to cities in N\S. At least one must go to S.

1515

Still Lots!

• How many subsets of N items?

• 2N

• Omit 2 subsets:– All N items– The empty set

• 2N - 2

• Half of that: 2N-1 - 1

1616

How Many?

10 511100 6.34E+29101 1.27E+30

1000 5.4E+300

N 2N-1 - 1

Too Many!

1717

Optimization is Possible But...

• It is difficult

• Few 100 cities is the limit

• For more details see www.tsp.gatech.edu

• Is it appropriate?

• Other approaches….

1818

Heuristics• The Strip Heuristic

– Partition the region into narrow strips– Routing in each strip is easy ~ 1-Dimensional– Paste the routes together

1919

The Strip Heuristic

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

2020

Nearest Neighbor

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

2121

Clark-Wright

• Shortcut a “tour” by finding the greatest “savings”

x

x

x

x

x

x

2222

Clark-Wright

• Shortcut a “tour” by finding the greatest “savings”

x

x

x

x

x

x

2323

Nearest Insertion

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

2424

Nearest Insertion

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

2525

Nearest Insertion

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

2626

Nearest Insertion

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

2727

Nearest Insertion

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

2828

Nearest Insertion

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

2929

Nearest Insertion

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

3030

Nearest Insertion

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

3131

Nearest Insertion

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

3232

Nearest Insertion

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

3333

Nearest Insertion

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

3434

Nearest Insertion

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

3535

Nearest Insertion

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

3636

Nearest Insertion

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

3737

Nearest Insertion

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

3838

Improvement Heuristics

• 2-Opt

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

3939

Local Minima

• No improvement found, but…

• Tour still isn’t good

4040

Probabilistic Methods

• Simulated Annealing

• With probability that reduces over time, accept an exchange that makes things worse (gets you out of local minima).

4141

Optimization-Base Heuristics

• Minimum Spanning Tree Heuristic

• Build a minimum spanning tree on the edges between customers

• Double the tree to get a Eulerian Tour (visits everyone perhaps several times and returns to the start)

• Short cut the Eulerian Tour to get a Hamilton Tour (Traveling Salesman Tour)

4242

The Spanning Tree

• Is Easy to construct– Use the Greedy Algorithm

• Add edges in increasing order of length

• Discard any that create a cycle

• Is a Lower bound on the TSP– Drop one edge from the TSP and you have a

spanning tree– It must be at least as long as the minimum

spanning tree

4343

The Spanning Tree

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

4444

Double the Spanning Tree

• Duplicate each edge in the Spanning Tree

• The resulting graph is connected

• The degree at every node must be even

• That’s an Eulerian Graph (you can start at a city, walk on each edge exactly once and return to where you started)

• It’s no more than twice the length of the shortest TSP

4545

The Spanning Tree

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x1

2

3

45 6

7

8

910

111213

1415

1617

1819

20

21

22

23

2425

26 27

28

29

30

4646

Short Cut the Eulerian Tour

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x1

2

3

45 6

7

8

910

111213

1415

1617

1819

20

21

22

23

2425

26 27

28

29

30

4747

Short Cut the Eulerian TourShort Cut the Eulerian Tour

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x1

2

3

45 6

7

8

910

111213

1415

1617

1819

20

21

22

23

2425

26 27

28

29

30

4848

Spacefilling Curves

• There are no more points in the unit square than in the interval from 0 to 1!?

4949

“Proof”• Each point (X,Y) on the map• For illustration let’s consider points in [0, 32]2

• Express X = string of 0’s and 1’s, 5 before the decimal– X = 16.5 = 10000.10 1*24+0*23+0*22+0*21+0*20+1*2-1 +0*2-2

• Express Y = string of 0’s and 1’s5 before the decimal– Y = 9.75 = 01001.11 0*24+1*23+0*22+0*21+1*20+1*2-1 +1*2-2

• Space Filling Number - interleave bits and move the decimal (X,Y) = 10010.000011101

5050

So,...

• Each pair of points

X = 16.5 = 10000.10

Y = 9.75 = 01001.11

maps to a unique point

(X,Y) = 10010.000011101

5151

How to Use this?

• A mapping of (X,Y) into the unit interval, i.e.• 18.056640625000 = 10010.000011101

X = 16.5 = 10000.10 Y = 9.75 = 01001.11

• Think of this as the inverse mapping of the unit interval onto the square (our super tour)

• For a given customer (X,Y) is the fraction of the way along the super tour where it lies

• Visit the customers in the order of (X,Y) (short cut the super tour to visit our customers)

5252

The TSP

• For More on SpaceFilling Curves visithttp://www.isye.gatech.edu/faculty/John_Bartholdi/mow/mow.html

• There are several books on the TSP

• ….

5353

Our Approach

• Minimize Transportation Cost (Distance)– Traveling Salesman Problem

• Respect the capacity of the Vehicle– Multiple Traveling Salesmen

• Consider Inventory Costs– Estimate the Transportation Cost– Estimate the Inventory Cost– Trade off these two costs.

5454

Different Approaches

• Route First - Cluster Second– Build a TSP tour– Partition it to meet capacity

• Cluster First - Route Second– Decide who gets served by each route– Then build the routes

5555

Route First

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

6

4

55

5

5

3

26

4 6

3

352

Vehicle Cap: 15

5656

Cluster First• Sweep Heuristic

x

x

x

x

x

xx

x

x

x

x

x x

x

x

x

6

4

55

5

5

3

26

4 6

3

352

Vehicle Cap: 15

5757

Our Approach

• Minimize Transportation Cost (Distance)– Traveling Salesman Problem

• Respect the capacity of the Vehicle– Multiple Traveling Salesmen

• Consider Inventory Costs– Estimate the Transportation Cost– Estimate the Inventory Cost– Trade off these two costs.