Odysseus 15A maritime version of the Travelling

Transcription

Odysseus 15A maritime version of the Travelling
A maritime version of the Travelling Salesman Problem
Enrico Malaguti, Silvano Martello, Alberto Santini
May 31, 2015
OR-Unibo
Operational Research
Group
@OR_Unibo
Plan
OR-Unibo
1 The Capacitated TSP with Pickup and Delivery
2 The TSPPD with Draught Limits
3 Literature
4 Model
5 Branch-and-cut algorithm
6 Constructive and refinement heuristics
OR-Unibo
7 Preliminary results
Operational Research
Group
@OR_Unibo
The Capacitated TSP with Pickup and Delivery
OR-Unibo
Variant of the travelling salesman problem
Service n requests
Each request has
an origin
a destination
a quantity of goods going from the origin to the destination
OR-Unibo
Operational Research
Group
@OR_Unibo
The Capacitated TSP with Pickup and Delivery
OR-Unibo
Model on a digraph G = (N, A).
1
0
···
◦
◦
OR-Unibo
◦
···
◦
request i
◦
n
i
n+1
Operational Research
Group
···
◦ 2n + 1
◦
n+i
···
◦
2n
@OR_Unibo
The Capacitated TSP with Pickup and Delivery
OR-Unibo
Nodes
N = { |{z}
0
+ 1} }
, 1, . . . , n, n + 1, . . . , 2n, |2n{z
{z
}
| {z } |
start depot
origins
destinations
end depot
Arcs
A ⊆ N2
OR-Unibo
Operational Research
Group
Arc costs
cij ≡ ca ≥ 0
∀(i, j) ≡ a ∈ A
@OR_Unibo
The Capacitated TSP with Pickup and Delivery
OR-Unibo
Demand
di ≥ 0
∀i ∈ {1, . . . , n}
And, by convention
dn+i = −di
OR-Unibo
Operational Research
Group
∀i ∈ {1, . . . , n}
d0 = d2n+1 = 0
@OR_Unibo
The Capacitated TSP with Pickup and Delivery
OR-Unibo
Feasibility condition
Q ≥ max di
i=1,...,n
OR-Unibo
Operational Research
Group
@OR_Unibo
The Capacitated TSP with Pickup and Delivery
OR-Unibo
Find a minimal cost hamiltonian path starting in 0 and ending in
2n + 1 such that
Precedence constraints
Every origin i is visited before the destination n + i
Capacity constraints
The cargo on the vehicle is always ≤ Q
OR-Unibo
Operational Research
Group
@OR_Unibo
Plan
OR-Unibo
1 The Capacitated TSP with Pickup and Delivery
2 The TSPPD with Draught Limits
3 Literature
4 Model
5 Branch-and-cut algorithm
6 Constructive and refinement heuristics
OR-Unibo
7 Preliminary results
Operational Research
Group
@OR_Unibo
The TSPPDDL
OR-Unibo
Draught: distance between the waterline and the bottom of the
hull of a ship
OR-Unibo
Operational Research
Group
@OR_Unibo
The TSPPDDL
OR-Unibo
Each port i ∈ {1, . . . , 2n} has a certain draught li ≥ 0
Draught expressed in the same unit as the demand
OR-Unibo
Operational Research
Group
@OR_Unibo
The TSPPDDL
OR-Unibo
Feasibility condition
li ≥ |di | ∀i ∈ {1, . . . , 2n}
OR-Unibo
Operational Research
Group
@OR_Unibo
Plan
OR-Unibo
1 The Capacitated TSP with Pickup and Delivery
2 The TSPPD with Draught Limits
3 Literature
4 Model
5 Branch-and-cut algorithm
6 Constructive and refinement heuristics
OR-Unibo
7 Preliminary results
Operational Research
Group
@OR_Unibo
Literature
OR-Unibo
Irina Dumitrescu et al. “The traveling salesman problem with pickup and
delivery: polyhedral results and a branch-and-cut algorithm”. In:
Mathematical programming 121.2 (2010), pp. 269–305
Study of the polytope of the uncapacitated TSPPD
Facet-defining valid inequalities
Branch-and-cut with heuristic separation
Instances with n up to 35
OR-Unibo
Operational Research
Group
@OR_Unibo
Literature
OR-Unibo
Stefan Ropke, Jean-François Cordeau, and Gilbert Laporte. “Models and
branch-and-cut algorithms for pickup and delivery problems with time
windows”. In: Networks 49.4 (2007), pp. 258–272
Stefan Ropke and Jean-François Cordeau. “Branch and cut and price for the
pickup and delivery problem with time windows”. In: Transportation Science
43.3 (2009), pp. 267–286
Pickup and Delivery Problem with Time Windows
Multi-vehicle, homogeneous fleet
Branch-and-cut and branch-and-cut-and-price
OR-Unibo
Operational Research
Group
@OR_Unibo
Literature
OR-Unibo
Jørgen Glomvik Rakke et al. “The traveling salesman problem with draft
limits”. In: Computers & Operations Research 39.9 (2012), pp. 2161–2167
Ship starts full and only delivers
Branch-and-cut with variables’ bounds tightening
Instances based on TSP Lib, up to 48 nodes
OR-Unibo
Operational Research
Group
@OR_Unibo
Literature
OR-Unibo
Maria Battarra et al. “Exact algorithms for the traveling salesman problem with
draft limits”. In: European Journal of Operational Research 235.1 (2014),
pp. 115–128
Two branch-and-cut algorithms
One branch-and-cut-and-price using ng-paths
Solve all the instances proposed by Glomvik Rakke et al.
OR-Unibo
Operational Research
Group
@OR_Unibo
Plan
OR-Unibo
1 The Capacitated TSP with Pickup and Delivery
2 The TSPPD with Draught Limits
3 Literature
4 Model
5 Branch-and-cut algorithm
6 Constructive and refinement heuristics
OR-Unibo
7 Preliminary results
Operational Research
Group
@OR_Unibo
Model
OR-Unibo
Variables:
xa ∈ {0, 1} ∀a ∈ A
1 iff arc a is used
ya ∈ R ∀a ∈ A
Quantity of cargo onboard when travelling along arc a
OR-Unibo
Operational Research
Group
@OR_Unibo
Model
MIP (1/3)
OR-Unibo
min
X
(1)
cij xij
a∈A
X
s.t.
xa = 1
∀i ∈ {0, . . . , 2n}
(2)
xa = 1
∀i ∈ {1, . . . , 2n + 1}
(3)
∀i ∈ {1, . . . , 2n}
(4)
a∈δ + (i)
X
a∈δ − (i)
X
a∈δ + (i)
OR-Unibo
Operational Research
Group
ya −
X
ya = di
a∈δi−
@OR_Unibo
Model
OR-Unibo
MIP (2/3)
... αa xa ≤ ya ≤ βa xa
X
ya = 0
∀a ∈ A
(5)
(6)
a∈δ + (0)
where
αij
OR-Unibo


di

−d
j
=

d
−
dj
i



0
βij = min{li
Operational Research
Group
if i ∈ {1, . . . , n} and j ∈ {1, . . . , n} ∪ {n + i}
if i, j ∈ {n + 1, . . . , 2n}
if i ∈ {1, . . . , n} and j ∈ {n + 1, . . . , 2n} \ {n + i}
otherwise
+ min{0, di }, lj − max{0, dj }, Q − max{0, −di , dj }}
@OR_Unibo
Model
MIP (3/3)
OR-Unibo
X
...
xa ≥ 1
∀i ∈ {1, . . . , n},
a∈δ + (S)
∀S ⊆ N : i ∈ S, n + i 6∈ S
X
xa ≥ 1
(7)
∀i ∈ {n + 1, . . . , 2n},
a∈δ + (S)
∀S ⊆ N : i ∈ S, 2n + 1 6∈ S
(8)
OR-Unibo
Operational Research
Group
@OR_Unibo
Model
OR-Unibo
Valid inequalities
Subtour elimination
Egon Balas, Matteo Fischetti, and William R Pulleyblank. “The
precedence-constrained asymmetric traveling salesman polytope”. In:
Mathematical programming 68.1-3 (1995), pp. 241–265
Martin Grötschel and Manfred W Padberg. “Lineare Charakterisierungen
von Travelling Salesman Problemen”. In: Zeitschrift für Operations
Research 21.1 (1977), pp. 33–64
Jean-Francois Cordeau. “A branch-and-cut algorithm for the dial-a-ride
problem”. In: Operations Research 54.3 (2006), pp. 573–586
OR-Unibo
Operational Research
Group
@OR_Unibo
Model
OR-Unibo
Valid inequalities
Generalised order
KS Ruland and EY Rodin. “The pickup and delivery problem: Faces and
branch-and-cut algorithm”. In: Computers & mathematics with
applications 33.12 (1997), pp. 1–13
Jean-Francois Cordeau. “A branch-and-cut algorithm for the dial-a-ride
problem”. In: Operations Research 54.3 (2006), pp. 573–586
OR-Unibo
Operational Research
Group
@OR_Unibo
Model
OR-Unibo
Valid inequalities
Capacity (and draught)
Stefan Ropke, Jean-François Cordeau, and Gilbert Laporte. “Models and
branch-and-cut algorithms for pickup and delivery problems with time
windows”. In: Networks 49.4 (2007), pp. 258–272
OR-Unibo
Operational Research
Group
@OR_Unibo
Plan
OR-Unibo
1 The Capacitated TSP with Pickup and Delivery
2 The TSPPD with Draught Limits
3 Literature
4 Model
5 Branch-and-cut algorithm
6 Constructive and refinement heuristics
OR-Unibo
7 Preliminary results
Operational Research
Group
@OR_Unibo
Branch-and-cut
OR-Unibo
Inequalities (7) and (8) are initially relaxed
Exact separation:
Solve n max-flow problems for (7) (from i to n + i)
Solve n max-flow problems for (8) (from n + i to 2n + 1)
OR-Unibo
Operational Research
Group
@OR_Unibo
Branch-and-cut
OR-Unibo
All valid inequalities are separated heuristically
2-cycle elimination inequalities are generated in advance
xij + xji ≤ 1
∀(i, j) ∈ A
OR-Unibo
Operational Research
Group
@OR_Unibo
Plan
OR-Unibo
1 The Capacitated TSP with Pickup and Delivery
2 The TSPPD with Draught Limits
3 Literature
4 Model
5 Branch-and-cut algorithm
6 Constructive and refinement heuristics
OR-Unibo
7 Preliminary results
Operational Research
Group
@OR_Unibo
Constructive heuristics
OR-Unibo
Basic idea:
Start with empty path
At each iteration insert one origin-destination couple (i, n + i)
Choose where to insert i and where to insert n + i
OR-Unibo
Operational Research
Group
@OR_Unibo
Constructive heuristics
OR-Unibo
Two-phases
First pass: order the couples
Second pass: insert them
One-phase
At each step choose the couple and insert it
Maximum regret
OR-Unibo
Operational Research
Group
@OR_Unibo
Constructive heuristics
OR-Unibo
Criteria to determine what is a good couple
Minimal (maximal) origin-destination distance
Minimal (maximal) draught-load difference
OR-Unibo
Operational Research
Group
@OR_Unibo
Constructive heuristics
OR-Unibo
Criteria to determine what is a good couple + insertion
Maximal load over cost
Minimal load times cost
Minimal Cost
OR-Unibo
Operational Research
Group
@OR_Unibo
Refinement heuristics
OR-Unibo
Simple textbook implementation of tabu search
Neighbourhood: 3-opt
Move property in tabu list: length of shortest edge removed
OR-Unibo
Operational Research
Group
@OR_Unibo
Plan
OR-Unibo
1 The Capacitated TSP with Pickup and Delivery
2 The TSPPD with Draught Limits
3 Literature
4 Model
5 Branch-and-cut algorithm
6 Constructive and refinement heuristics
OR-Unibo
7 Preliminary results
Operational Research
Group
@OR_Unibo
Instances
OR-Unibo
<instance>_<n>_<h>_<k>
instance: from TSPLIB
n: number of requests
Quantities validated with data from liner operator
OR-Unibo
Operational Research
Group
@OR_Unibo
Instances
OR-Unibo
1
Hub: one random port
2
n requests: random origin and destination
3
n requests: random demand ∈ [1, 99]
OR-Unibo
Operational Research
Group
@OR_Unibo
Instances
OR-Unibo
4
Capacity: Q = 50 · h, h ∈ {2, 3, 4, 5, n, 2n}
For h = 2n: li = Q ∀i ∈ N TSPPD
For other values of h...
OR-Unibo
Operational Research
Group
@OR_Unibo
Instances
OR-Unibo
5
Draught:
a fraction
of k ports have draught < Q,
k ∈ 0, 14 , 21 , 34 , 1
For k = 0: Capacitated TSPPD
For other values of k...
6
Draught of i: random between |di | and Q − 1
For those ports i that have draught < Q
OR-Unibo
Operational Research
Group
@OR_Unibo
Results
Gap %
OR-Unibo
n = 8
n = 10
0
0.25
0.5
0.75
1
2
0.00%
0.00%
0.00%
0.00%
0.00%
3
0.00%
0.00%
0.00%
0.00%
0.00%
4
0.00%
0.00%
0.00%
0.00%
0.00%
5
0.00%
0.00%
0.00%
0.00%
0.00%
8
0.00%
0.00%
0.00%
0.00%
0.00%
16
0.00%
n = 12
0
0.25
0.5
0.75
1
2
0.00%
0.00%
0.00%
0.00%
0.00%
3
0.00%
0.00%
0.00%
0.00%
0.00%
4
0.00%
4.72%
0.00%
0.00%
3.65%
5
0.00%
0.00%
0.00%
0.00%
0.00%
10
1.65%
0.00%
0.00%
0.00%
0.00%
0
0.25
0.5
0.75
1
2
0.00%
0.00%
0.00%
0.00%
0.00%
3
0.00%
7.12%
7.96%
14.23%
17.39%
4
8.21%
13.46%
22.65%
18.28%
23.08%
5
22.19%
8.63%
21.29%
18.38%
10.06%
14
21.21%
11.43%
2.68%
0.00%
0.00%
0
0.25
0.5
0.75
1
2
1.66%
0.01%
2.44%
3.53%
4.48%
3
11.82%
10.84%
16.09%
17.42%
16.22%
4
9.32%
22.24%
20.88%
22.70%
20.73%
5
25.22%
27.07%
29.18%
28.25%
20.39%
20
24.20%
4.17%
13.89%
22.32%
3.46%
0
0.25
0.5
0.75
1
2
2.37%
2.18%
2.41%
3.33%
3.65%
3
5.84%
10.95%
9.91%
16.20%
16.23%
4
13.60%
18.44%
17.53%
17.57%
16.76%
5
21.47%
19.22%
18.04%
18.71%
14.12%
n
1.22%
0.66%
0.58%
0.81%
0.28%
20
0.00%
n = 14
0
0.25
0.5
0.75
1
2
12.54%
9.52%
8.74%
12.10%
4.84%
3
13.80%
14.44%
12.75%
14.90%
12.93%
4
14.97%
12.95%
11.21%
2.35%
2.83%
5
22.00%
23.93%
6.89%
16.48%
0.00%
12
7.92%
3.64%
0.32%
5.96%
0.00%
0
0.25
0.5
0.75
1
2
0.00%
0.00%
0.00%
0.00%
7.97%
3
2.29%
15.60%
8.23%
27.10%
31.10%
4
20.92%
36.10%
24.08%
33.74%
28.70%
5
32.82%
33.72%
24.44%
32.45%
28.33%
16
27.15%
18.14%
17.53%
10.89%
0.00%
24
0.00%
n = 16
28
0.00%
n = 20
32
0.00%
n = 24
40
1.64%
avg
0
0.25
0.5
0.75
1
2
2.42%
5.73%
5.73%
7.69%
8.26%
OR-Unibo
3
12.94%
28.66%
24.34%
39.77%
35.99%
Operational Research
Group
4
41.74%
39.60%
43.86%
45.90%
38.34%
5
48.05%
41.16%
44.49%
35.40%
40.08%
24
39.73%
29.06%
23.95%
41.94%
24.18%
48
23.82%
2n
3.64%
@OR_Unibo
Results
Gap %
OR-Unibo
n = 8
n = 10
0
0.25
0.5
0.75
1
2
0.00%
0.00%
0.00%
0.00%
0.00%
3
0.00%
0.00%
0.00%
0.00%
0.00%
4
0.00%
0.00%
0.00%
0.00%
0.00%
5
0.00%
0.00%
0.00%
0.00%
0.00%
8
0.00%
0.00%
0.00%
0.00%
0.00%
16
0
0.25
0.5
0.75
1
2
0.00%
0.00%
0.00%
0.00%
0.00%
3
0.00%
0.00%
0.00%
0.00%
0.00%
4
0.00%
4.72%
0.00%
0.00%
3.65%
5
0.00%
0.00%
0.00%
0.00%
0.00%
10
1.65%
0.00%
0.00%
0.00%
0.00%
0
0.25
0.5
0.75
1
2
0.00%
0.00%
0.00%
0.00%
0.00%
3
0.00%
7.12%
7.96%
14.23%
17.39%
4
8.21%
13.46%
22.65%
18.28%
23.08%
5
22.19%
8.63%
21.29%
18.38%
10.06%
14
21.21%
11.43%
2.68%
0.00%
0.00%
0
0.25
0.5
0.75
1
2
1.66%
0.01%
2.44%
3.53%
4.48%
3
11.82%
10.84%
16.09%
17.42%
16.22%
4
9.32%
22.24%
20.88%
22.70%
20.73%
5
25.22%
27.07%
29.18%
28.25%
20.39%
20
24.20%
4.17%
13.89%
22.32%
3.46%
CTSPPD
0
0.25
0.5
0.75
1
2
2.37%
2.18%
2.41%
3.33%
3.65%
3
5.84%
10.95%
9.91%
16.20%
16.23%
4
13.60%
18.44%
17.53%
17.57%
16.76%
5
21.47%
19.22%
18.04%
18.71%
14.12%
n
1.22%
0.66%
0.58%
0.81%
0.28%
0.00%
n = 12
20
0.00%
n = 14
0
0.25
0.5
0.75
1
2
12.54%
9.52%
8.74%
12.10%
4.84%
3
13.80%
14.44%
12.75%
14.90%
12.93%
4
14.97%
12.95%
11.21%
2.35%
2.83%
5
22.00%
23.93%
6.89%
16.48%
0.00%
12
7.92%
3.64%
0.32%
5.96%
0.00%
0
0.25
0.5
0.75
1
2
0.00%
0.00%
0.00%
0.00%
7.97%
3
2.29%
15.60%
8.23%
27.10%
31.10%
4
20.92%
36.10%
24.08%
33.74%
28.70%
5
32.82%
33.72%
24.44%
32.45%
28.33%
16
27.15%
18.14%
17.53%
10.89%
0.00%
24
0.00%
n = 16
28
0.00%
n = 20
32
0.00%
n = 24
40
1.64%
avg
0
0.25
0.5
0.75
1
2
2.42%
5.73%
5.73%
7.69%
8.26%
OR-Unibo
3
12.94%
28.66%
24.34%
39.77%
35.99%
Operational Research
Group
4
41.74%
39.60%
43.86%
45.90%
38.34%
5
48.05%
41.16%
44.49%
35.40%
40.08%
24
39.73%
29.06%
23.95%
41.94%
24.18%
48
23.82%
2n
3.64%
TSPPD
@OR_Unibo
Results
OR-Unibo
UB improvement
OR-Unibo
Operational Research
Group
@OR_Unibo
Results
Conclusions
OR-Unibo
Quite well on the TSPPD
Better on the TSPPDDL than the CTSPPD
Specific valid inequalities
Graph preprocessing
OR-Unibo
Operational Research
Group
@OR_Unibo
Results
OR-Unibo
Conclusions
“Low effort” heuristics work quite well
The most difficult part is to improve the LB
OR-Unibo
Operational Research
Group
@OR_Unibo
OR-Unibo
Thank you
OR-Unibo
Operational Research
Group
@OR_Unibo