Download as pdf or txt
Download as pdf or txt
You are on page 1of 39

Optimization of a Real-World Auto-Carrier

Transportation Problem

Mauro DellAmico Simone Falavigna Manuel Iori

DISMI, University of Modena and Reggio Emilia, Italy

ROUTE 2011 Sitges

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 1 / 26


Outline

1 The Auto-Carrier Transportation Problem


Motivation
Problem Description

2 Solution Algorithm
Outline of the Algorithm
Loading the Vehicles
Routing the Auto-Carriers

3 Computational Results

4 Conclusions

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 2 / 26


The Auto-Carrier Transportation Problem Motivation

A real-world motivation

This work is devoted to the study of a real-world case derived from the
everyday activity of a logistic company, whose core business is to deliver
vehicles to dealers by means of a fleet of auto-carriers

Main activities:
receive the vehicles
from the manufacturers
usually by train
stock them in storage
areas
deliver them to the
dealers when ordered

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 3 / 26


The Auto-Carrier Transportation Problem Motivation

How to deliver vehicles?

Auto-carriers are special trucks composed by a tractor and perhaps a


trailer, both usually equipped with upper and lower loading platforms

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 4 / 26


The Auto-Carrier Transportation Problem Motivation

How to deliver vehicles?

Auto-carriers are special trucks composed by a tractor and perhaps a


trailer, both usually equipped with upper and lower loading platforms

To increase loading capacity, auto-carriers have special equipments:


small platforms that allow the rotation of the vehicles
upper platforms that can be translated vertically and/or rotated
upper and lower platforms that can be extended in length

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 4 / 26


The Auto-Carrier Transportation Problem Motivation

The problem in a few words


We are given
an heterogeneous fleet of auto-carriers based at a central depot
a set of dealers each requiring a certain number of vehicles
Our aim is to
load the vehicles into the auto-carriers and route them along the road
network to serve all dealers with minimum routing cost
Split deliveries are allowed
LIFO loading/unloading is imposed

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 5 / 26


The Auto-Carrier Transportation Problem Problem Description

Input of the problem: Network

a complete graph G = (N, E )


a set N = {0, . . . , n} of vertices
0 is the depot
{1, . . . , n} are the dealers
a routing cost cij associated with
each edge (i, j) E
a demand for each dealer i
consisting of a set Mi of vehicles

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 6 / 26


The Auto-Carrier Transportation Problem Problem Description

Input of the problem: Auto-carriers

T different types of auto-carrier


Kt auto-carriers available for each type t (t = 1, . . . , T )
each type t has
a weight capacity
a number Pt of loading platforms

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 7 / 26


The Auto-Carrier Transportation Problem Problem Description

Input of the problem: Vehicles


Each vehicle k demanded by a dealer
has a weight
has a particular shape, two-dimensional to our scope
belongs to a model

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 8 / 26


The Auto-Carrier Transportation Problem Problem Description

The Auto-Carrier Transportation Problem (A-CTP)

We define a route by the triplet hR, S, ti:


R = (r1 , r2 , . . . ) is the sequence of dealers to be visited
Si Mi is the (sub)set of vehicles to be delivered to i
S = S1 S|R|
t is the auto-carrier type used in the route

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 9 / 26


The Auto-Carrier Transportation Problem Problem Description

The Auto-Carrier Transportation Problem (A-CTP)

We define a route by the triplet hR, S, ti:


R = (r1 , r2 , . . . ) is the sequence of dealers to be visited
Si Mi is the (sub)set of vehicles to be delivered to i
S = S1 S|R|
t is the auto-carrier type used in the route

The A-CTP calls for the determination of a set of routes such that:
the demands of the dealers are completely fulfilled
at most Kt auto-carrier are used for each type t
the routing cost is minimum
each route hR, S, ti is load-feasible

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 9 / 26


Solution Algorithm Outline of the Algorithm

Decomposition of the problem


We decompose the problem into its two main components

Routing the auto-carriers


NP-hard
Iterated Local Search

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 10 / 26


Solution Algorithm Outline of the Algorithm

Decomposition of the problem


We decompose the problem into its two main components

Routing the auto-carriers Loading the vehicles


NP-hard NP-hard
Iterated Local Search Enumeration tree

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 10 / 26


Solution Algorithm Loading the Vehicles

Checking loading feasibility - Steps I and II


We developed a three step procedure (check-load)
Step 1 (easy)
return infeasible if sum of vehicles weights greater than capacity

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 11 / 26


Solution Algorithm Loading the Vehicles

Checking loading feasibility - Steps I and II


We developed a three step procedure (check-load)
Step 1 (easy)
return infeasible if sum of vehicles weights greater than capacity

We define load-index dkt and fill-index ft as:


dkt = maximum number of vehicles k loaded on auto-carrier t
X 1
ft =
dkt
kS
Step 2 (easy)
if loading is homogeneous (identical vehicles)
if (ft > 1) return infeasible
else return feasible
else (loading is heterogeneous different vehicles)
if (ft 1.2) return infeasible
else execute Step 3 (difficult)
DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 11 / 26
Solution Algorithm Loading the Vehicles

Checking loading feasibility - Step III - Modeling

Each platform p (p = 1, . . . , Pt ) of auto-carrier t:


has a length Lpt and a possible extension Apt
has a platform h(p) placed side by side with it (e.g., h(1) = 2)
has a platform v (p) placed vertically above/below it (e.g., v (1) = 3)
has a set of LIFO precedence relations: p q (p precedes q) if
loading on p forbids unloading from q (e.g., 1 3, 1 2)

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 12 / 26


Solution Algorithm Loading the Vehicles

Checking loading feasibility - Step III - Modeling


Each vehicle k:
belongs to a class c(k) according to its length, height and shape

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 13 / 26


Solution Algorithm Loading the Vehicles

Checking loading feasibility - Step III - Modeling


Each vehicle k:
belongs to a class c(k) according to its length, height and shape
when loaded on platform p of auto-carrier t has an equivalent length
`kpt = (original length) (class reduction coefficient)

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 13 / 26


Solution Algorithm Loading the Vehicles

Checking loading feasibility - Step III - Modeling


Each vehicle k:
belongs to a class c(k) according to its length, height and shape
when loaded on platform p of auto-carrier t has an equivalent length
`kpt = (original length) (class reduction coefficient)
has an equivalent vertical impact on v (p)
kv (p)t = (platform length) (vert. class reduction coefficient)

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 13 / 26


Solution Algorithm Loading the Vehicles

Checking loading feasibility - Step III (ILP)



1 if vehicle k is assigned to loading platform p
xkp =
0 otherwise
ap = possible extension of loading platform p

P
X
xkp = 1 k S (1)
p=1
X
(`kp xkp + kv (p) xkv (p) ) Lp + ap p = 1, . . . , P (2)
kS
xkp + xlq 1 p, q = 1, . . . , P : p q
k, l S : r (k) > r (l) (3)
ap + ah(p) A
e ph(p) p = 1, . . . , P (4)
0 ap Ap, p = 1, . . . , P (5)
xkp {0, 1} p = 1, . . . , P ; k S (6)

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 14 / 26


Solution Algorithm Loading the Vehicles

Checking loading feasibility - Step III (Enumeration)

We implemented an enumeration tree in which


Vehicles are loaded one at a time into platforms according to their
order of visit
At level k, we create nodes by assigning vehicle k to any platform in
which it can still be loaded
Tree is explored in a depth-first fashion
We use a fathoming criterion based on an aggregate continuous
estimation of total vehicle and platform lengths

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 15 / 26


Solution Algorithm Routing the Auto-Carriers

Iterated Local Search (ILS)

input: An A-CTP instance I


output: The best solution found sbest

sbest = Randomized Closest Neighbor(I )


repeat
s = Perturbation Method(sbest );
s 0 = Local Search(s);
if c(s 0 ) < c(sbest ) then
sbest = s 0
end-if
until time limit
return sbest

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 16 / 26


Solution Algorithm Routing the Auto-Carriers

Local Search
We use eight Local Search algorithms:
1 dealer-relocation
intra-route optimization
check-load must be invoked because of LIFO

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 17 / 26


Solution Algorithm Routing the Auto-Carriers

Local Search
We use eight Local Search algorithms:
1 dealer-relocation
2 1-0 dealer-move
3 1-1 dealer-swap
4 2-1 dealer-swap
inter-route optimizations
many calls to check-load hence need of a tailored implementation

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 17 / 26


Solution Algorithm Routing the Auto-Carriers

Local Search
We use eight Local Search algorithms:
1 dealer-relocation
2 1-0 dealer-move
3 1-1 dealer-swap
4 2-1 dealer-swap
5 1-1 model-swap
6 2-1 model-swap
inter-route optimizations
attempt smaller variations w.r.t. moves 24
only subsets of identical vehicles are swapped
useful when demands are large

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 17 / 26


Solution Algorithm Routing the Auto-Carriers

Local Search
We use eight Local Search algorithms:
1 dealer-relocation
2 1-0 dealer-move
3 1-1 dealer-swap
4 2-1 dealer-swap
5 1-1 model-swap
6 2-1 model-swap
7 auto-carrier interchange
exploits the heterogeneous fleet
move vehicles into more suitable auto-carriers
may decrease split deliveries but does not increase number of routes

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 17 / 26


Solution Algorithm Routing the Auto-Carriers

Local Search
We use eight Local Search algorithms:
1 dealer-relocation
2 1-0 dealer-move
3 1-1 dealer-swap
4 2-1 dealer-swap
5 1-1 model-swap
6 2-1 model-swap
7 auto-carrier interchange
8 route addition
attempt to decrease split deliveries by using one more route

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 17 / 26


Solution Algorithm Routing the Auto-Carriers

Perturbation Method

We implemented a 4-step perturbation heuristic:


1 randomly select a dealer i
2 select all dealers within a given threshold from i
3 destroy all routes involving these dealers
4 complete partial solution with Randomized Closest Neighbor

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 18 / 26


Computational Results Instances and Settings

Benchmark Instances and Settings


About 1000 dealers spread out over Italy

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 19 / 26


Computational Results Instances and Settings

Benchmark Instances and Settings


About 1000 dealers spread out over Italy
More than 700 different models of vehicles
ILS tested on 23 instances of July 2009, one per working day
Instance size is quite large on average:
800 vehicles
200 dealers
2 auto-carrier types
80 auto-carriers used
A route contains on average
9.4 vehicles
From 1 to 6 stops to dealers
Real cost matrix computed with a GIS
Procedures coded in C++, run on a Pentium at 2.70 Ghz
ILS halted after 1500 CPU seconds
Loadings found have been confirmed feasible by the company

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 19 / 26


Computational Results Instances and Settings

Best setting for the loading feasibility check

We compare the two procedures by testing them on all instances:


1 ILP model solved with CPLEX 12
2 tree enumeration with aggregate fathoming criterion (TE)

CPLEX 12 TE
obj. value (km) 44,180 43,667
# of best values (out of 23) 0 23
# of ILS iterations 58 3057
% CPU time spent for loading 98% 35%

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 20 / 26


Computational Results Results

ILS vs In-practice Solutions


Difficult to obtain a fair comparison
In-practice approach:
Loading: feasible if fill-index 1.1, infeasible otherwise
Routing: greedy heuristic based on clustering of dealers in areas
We execute our ILS and a version (ILS at 1.1) in which we use the
approximative loading method by the company

Logistic Company
ILS - Load feasible if ft 1.1
ILS
Jul-01

Jul-02

Jul-03

Jul-06

Jul-07

Jul-08

Jul-09

Jul-10

Jul-13

Jul-14

Jul-15

Jul-16

Jul-17

Jul-20

Jul-21

Jul-22

Jul-23

Jul-24

Jul-27

Jul-28

Jul-29

Jul-30

Jul-31
Improvement by ILS at 1.1 = 6%
Improvement by ILS = 12%, consistent on all instances
DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 21 / 26
Computational Results Results

Iterated Local Search vs Multi-Start


We compare our ILS with a Multi-Start algorithm

ILS Multi-Start
obj. value (km) 43,667 44,067
# of best values 23 0
# of iterations 3057 2013
# of auto-carriers (nac ) 82.6 83.2
# of visits (nvis ) 240.0 239.5

%gap
1.60%
1.40%
1.20%
1.00%
0.80%
0.60%
0.40%
0.20%
0.00%

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 22 / 26


Computational Results Results

Impact of the loading constraints

We remove loading constraints one at a time


Relaxed loading = TE returns feasible all the time

nac nvis km
All loading constraints 82.6 240.0 43,667
No weight +0.1 +0.0 +0.03%
No LIFO 0.9 +2.3 0.73%
Relaxed loading 2.1 +1.1 1.71%

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 23 / 26


Computational Results Results

Split delivery impact


We penalize split deliveries by setting a penalty parameter (in km)

1.08

1.06 nvis
nac
1.04 km

1.02

1.00

0.98

0.96
0 10 20 30 40 50 60 70 80 90 100
(penalty parameter )

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 24 / 26


Conclusions

Conclusions

We have some worth-noting contributions


Our loading model is effective and fast
ILS obtains important savings (about 5000 km per day!)

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 25 / 26


Conclusions

Conclusions

We have some worth-noting contributions


Our loading model is effective and fast
ILS obtains important savings (about 5000 km per day!)

What about a pool of already checked loadings?


In our implementation it worsens the results
An interaction with a database of certified loadings is a desirable
feature for the everyday activity of the company

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 25 / 26


Conclusions

Conclusions

We have some worth-noting contributions


Our loading model is effective and fast
ILS obtains important savings (about 5000 km per day!)

What about a pool of already checked loadings?


In our implementation it worsens the results
An interaction with a database of certified loadings is a desirable
feature for the everyday activity of the company

What if the fleet is not large enough?


Not the case in our instances (big crisis on July 2009!) but frequent
Future research = dynamic multi-period A-CTP

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 25 / 26


Conclusions

THANK YOU VERY MUCH

DellAmico, Falavigna, Iori (DISMI) Auto-Carrier Transportation ROUTE 2011 26 / 26

You might also like