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