Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction...
Transcript of Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction...
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Prize-Collecting Steiner Travelling SalesmanProblem with Time Windows
Stephen Page
7 September 2012
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The Travelling Salesman Problem
I Complete graph
I Cost for travelling alongeach arc
I Cheapest route visitingeach node exactly once
Figure: A Complete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The Travelling Salesman Problem
I Complete graph
I Cost for travelling alongeach arc
I Cheapest route visitingeach node exactly once
Figure: A Complete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The Travelling Salesman Problem
I Complete graph
I Cost for travelling alongeach arc
I Cheapest route visitingeach node exactly once
Figure: A Complete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The Travelling Salesman Problem
I Complete graph
I Cost for travelling alongeach arc
I Cheapest route visitingeach node exactly once
Figure: A Complete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The PCSTSPTW Variant
I Steiner
I Graph may not be completeI Set of customersI Multiple visits
I With Time Windows
I Times for arcs and nodesI Return timeI Salesman may wait
I Prize-Collecting
I Prize for servicingI Profit minus cost
Figure: An Incomplete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The PCSTSPTW Variant
I Steiner
I Graph may not be completeI Set of customersI Multiple visits
I With Time Windows
I Times for arcs and nodesI Return timeI Salesman may wait
I Prize-Collecting
I Prize for servicingI Profit minus cost
Figure: An Incomplete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The PCSTSPTW Variant
I SteinerI Graph may not be complete
I Set of customersI Multiple visits
I With Time Windows
I Times for arcs and nodesI Return timeI Salesman may wait
I Prize-Collecting
I Prize for servicingI Profit minus cost
Figure: An Incomplete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The PCSTSPTW Variant
I SteinerI Graph may not be completeI Set of customers
I Multiple visits
I With Time Windows
I Times for arcs and nodesI Return timeI Salesman may wait
I Prize-Collecting
I Prize for servicingI Profit minus cost
Figure: An Incomplete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The PCSTSPTW Variant
I SteinerI Graph may not be completeI Set of customersI Multiple visits
I With Time Windows
I Times for arcs and nodesI Return timeI Salesman may wait
I Prize-Collecting
I Prize for servicingI Profit minus cost
Figure: An Incomplete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The PCSTSPTW Variant
I SteinerI Graph may not be completeI Set of customersI Multiple visits
I With Time Windows
I Times for arcs and nodesI Return timeI Salesman may wait
I Prize-Collecting
I Prize for servicingI Profit minus cost
Figure: An Incomplete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The PCSTSPTW Variant
I SteinerI Graph may not be completeI Set of customersI Multiple visits
I With Time WindowsI Times for arcs and nodes
I Return timeI Salesman may wait
I Prize-Collecting
I Prize for servicingI Profit minus cost
Figure: An Incomplete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The PCSTSPTW Variant
I SteinerI Graph may not be completeI Set of customersI Multiple visits
I With Time WindowsI Times for arcs and nodesI Return time
I Salesman may wait
I Prize-Collecting
I Prize for servicingI Profit minus cost
Figure: An Incomplete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The PCSTSPTW Variant
I SteinerI Graph may not be completeI Set of customersI Multiple visits
I With Time WindowsI Times for arcs and nodesI Return timeI Salesman may wait
I Prize-Collecting
I Prize for servicingI Profit minus cost
Figure: An Incomplete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The PCSTSPTW Variant
I SteinerI Graph may not be completeI Set of customersI Multiple visits
I With Time WindowsI Times for arcs and nodesI Return timeI Salesman may wait
I Prize-Collecting
I Prize for servicingI Profit minus cost
Figure: An Incomplete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The PCSTSPTW Variant
I SteinerI Graph may not be completeI Set of customersI Multiple visits
I With Time WindowsI Times for arcs and nodesI Return timeI Salesman may wait
I Prize-CollectingI Prize for servicing
I Profit minus cost
Figure: An Incomplete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
The PCSTSPTW Variant
I SteinerI Graph may not be completeI Set of customersI Multiple visits
I With Time WindowsI Times for arcs and nodesI Return timeI Salesman may wait
I Prize-CollectingI Prize for servicingI Profit minus cost
Figure: An Incomplete Graph
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Adaptation
Formulation for the PCSTSPTW
A mixed 0-1 linear programming formulation for the Steinertravelling salesman problem with time windows (Letchford et al.,2012) can be adapted to the PCSTSPTW.
The following variables are used:
I x̃ka is a binary variable which is 1 if and only if arc a istraversed after exactly k customers have been serviced.
I yki is a binary variable which is 1 if and only if customer i isthe kth customer to be serviced.
I gka is the total time elapsed when the salesman begins to
traverse arc a after exactly k customers have been serviced ifthis time exists and is 0 otherwise.
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Adaptation
Formulation for the PCSTSPTW
A mixed 0-1 linear programming formulation for the Steinertravelling salesman problem with time windows (Letchford et al.,2012) can be adapted to the PCSTSPTW.
The following variables are used:
I x̃ka is a binary variable which is 1 if and only if arc a istraversed after exactly k customers have been serviced.
I yki is a binary variable which is 1 if and only if customer i isthe kth customer to be serviced.
I gka is the total time elapsed when the salesman begins to
traverse arc a after exactly k customers have been serviced ifthis time exists and is 0 otherwise.
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Adaptation
Formulation for the PCSTSPTW
A mixed 0-1 linear programming formulation for the Steinertravelling salesman problem with time windows (Letchford et al.,2012) can be adapted to the PCSTSPTW.
The following variables are used:
I x̃ka is a binary variable which is 1 if and only if arc a istraversed after exactly k customers have been serviced.
I yki is a binary variable which is 1 if and only if customer i isthe kth customer to be serviced.
I gka is the total time elapsed when the salesman begins to
traverse arc a after exactly k customers have been serviced ifthis time exists and is 0 otherwise.
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Adaptation
Formulation for the PCSTSPTW
A mixed 0-1 linear programming formulation for the Steinertravelling salesman problem with time windows (Letchford et al.,2012) can be adapted to the PCSTSPTW.
The following variables are used:
I x̃ka is a binary variable which is 1 if and only if arc a istraversed after exactly k customers have been serviced.
I yki is a binary variable which is 1 if and only if customer i isthe kth customer to be serviced.
I gka is the total time elapsed when the salesman begins to
traverse arc a after exactly k customers have been serviced ifthis time exists and is 0 otherwise.
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Example
Example Data
Node Prize Time Window Service Time
3 6 [2, 4] 14 11 [1, 12] 16 6 [10, 12] 17 5 [10, 20] 29 5 [2, 7] 2
Table: Customer Data
Arc Cost Time
(1,2) 3 1(1,8) 2 1(1,9) 1 3(2,3) 2 1
Arc Cost Time
(3,9) 1 2(3,10) 4 2(4,5) 2 2(4,8) 3 1
Arc Cost Time
(5,6) 4 2(6,7) 3 3(7,10) 1 1
Table: Arc Data
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Example
Example Solution
The optimal route is 1 - 2 - 3 - 9 - 1 - 8 - 4 - 8 - 1 servicingcustomers 3, 9 and 4 with objective value 5.
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What Are Vehicle Routing Problems?
I Similar to TSP
I Multiple vehicles
I Deliver goods
I Can betime-constrained
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What Are Vehicle Routing Problems?
I Similar to TSP
I Multiple vehicles
I Deliver goods
I Can betime-constrained
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What Are Vehicle Routing Problems?
I Similar to TSP
I Multiple vehicles
I Deliver goods
I Can betime-constrained
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What Are Vehicle Routing Problems?
I Similar to TSP
I Multiple vehicles
I Deliver goods
I Can betime-constrained
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What Are Vehicle Routing Problems?
I Similar to TSP
I Multiple vehicles
I Deliver goods
I Can betime-constrained
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
Solving Time-Constrained VRPs
I Methods assume cheapest paths are quickest
I Use this to complete graph
I Doesn’t work for STSPTW (Nasiri et al., 2012)
I Doesn’t work for PCSTSPTW either
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
Solving Time-Constrained VRPs
I Methods assume cheapest paths are quickest
I Use this to complete graph
I Doesn’t work for STSPTW (Nasiri et al., 2012)
I Doesn’t work for PCSTSPTW either
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
Solving Time-Constrained VRPs
I Methods assume cheapest paths are quickest
I Use this to complete graph
I Doesn’t work for STSPTW (Nasiri et al., 2012)
I Doesn’t work for PCSTSPTW either
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
Solving Time-Constrained VRPs
I Methods assume cheapest paths are quickest
I Use this to complete graph
I Doesn’t work for STSPTW (Nasiri et al., 2012)
I Doesn’t work for PCSTSPTW either
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
Solving Time-Constrained VRPs
I Methods assume cheapest paths are quickest
I Use this to complete graph
I Doesn’t work for STSPTW (Nasiri et al., 2012)
I Doesn’t work for PCSTSPTW either
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Example
Cheapest Paths for the Example
Arc Cost Time
(1,3) 2 5(1,4) 5 2(1,6) 10 11(1,7) 7 8(1,9) 1 3
Arc Cost Time
(3,4) 7 7(3,6) 8 6(3,7) 5 3(3,9) 1 2(4,6) 6 4
Arc Cost Time
(4,7) 9 7(4,9) 6 5(6,7) 3 3(6,9) 9 8(7,9) 6 5
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Example
Solution Given for Completed Graph
The route given is 1 - 9 - 1 - 4 - 1 which corresponds to the route1 - 9 - 1 - 8 - 4 - 8 - 1 on the original graph with objective value 4.
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
What is Dynamic Programming?
I If a route between two states isoptimal then so are allsubroutes
I Can find optimal way to get tosome state by looking atpossible previous states
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
Notation for the PCSTSPTW
A dynamic programming algorithm for the STSPTW (Nasiri et al.,2012) can be adapted to the PCSTSPTW.
The following notation is used:
I ta is the time required to traverse arc a.
I ca is the cost of traversing arc a.
I [ai , bi ] is the time window in which the servicing of customer imay begin.
I si is the time required to service customer i .
I pi is the prize collected for servicing customer i .
I T is the time in which the salesman must return to the depot.
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Description
Algorithm for the PCSTSPTW
f (S , i , t) is the maximum profit minus cost of a path servicing thecustomers in S leaving the depot at time 0 and reaching node i attime t ≤ T an integer, or −∞ if there is no such path.
f (S , i , t) is the maximum of −∞ and:
I f (S , i , t − 1) if t ≥ 1.
I maxa∈δ−(i):t≥ta
{f (S , i , t − ta)− ca} if {a ∈ δ−(i) : t ≥ ta} 6= ∅.
I f (S \ {i}, i , t − si ) + pi if i ∈ S and t ∈ [ai + si , bi + si ].
The optimal solution has profit minus cost equal tomaxS∈VR
{f (S , 1, bT c)} and the route can be found by considering the
previous step in the iteration.
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Comparison
Comparison of Solution Methods
I Time
I LP solved in MPL in 35.63 seconds using CoinMP
I DP solved in R in 4.20 seconds
I Adaptability
I Can vary data for the problem with time using DP
I This includes times, prizes and customers
I Assumptions
I DP assumes integer time
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Comparison
Comparison of Solution Methods
I Time
I LP solved in MPL in 35.63 seconds using CoinMP
I DP solved in R in 4.20 seconds
I Adaptability
I Can vary data for the problem with time using DP
I This includes times, prizes and customers
I Assumptions
I DP assumes integer time
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Comparison
Comparison of Solution Methods
I TimeI LP solved in MPL in 35.63 seconds using CoinMP
I DP solved in R in 4.20 seconds
I Adaptability
I Can vary data for the problem with time using DP
I This includes times, prizes and customers
I Assumptions
I DP assumes integer time
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Comparison
Comparison of Solution Methods
I TimeI LP solved in MPL in 35.63 seconds using CoinMP
I DP solved in R in 4.20 seconds
I Adaptability
I Can vary data for the problem with time using DP
I This includes times, prizes and customers
I Assumptions
I DP assumes integer time
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Comparison
Comparison of Solution Methods
I TimeI LP solved in MPL in 35.63 seconds using CoinMP
I DP solved in R in 4.20 seconds
I Adaptability
I Can vary data for the problem with time using DP
I This includes times, prizes and customers
I Assumptions
I DP assumes integer time
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Comparison
Comparison of Solution Methods
I TimeI LP solved in MPL in 35.63 seconds using CoinMP
I DP solved in R in 4.20 seconds
I AdaptabilityI Can vary data for the problem with time using DP
I This includes times, prizes and customers
I Assumptions
I DP assumes integer time
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Comparison
Comparison of Solution Methods
I TimeI LP solved in MPL in 35.63 seconds using CoinMP
I DP solved in R in 4.20 seconds
I AdaptabilityI Can vary data for the problem with time using DP
I This includes times, prizes and customers
I Assumptions
I DP assumes integer time
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Comparison
Comparison of Solution Methods
I TimeI LP solved in MPL in 35.63 seconds using CoinMP
I DP solved in R in 4.20 seconds
I AdaptabilityI Can vary data for the problem with time using DP
I This includes times, prizes and customers
I Assumptions
I DP assumes integer time
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Comparison
Comparison of Solution Methods
I TimeI LP solved in MPL in 35.63 seconds using CoinMP
I DP solved in R in 4.20 seconds
I AdaptabilityI Can vary data for the problem with time using DP
I This includes times, prizes and customers
I AssumptionsI DP assumes integer time
Stephen Page
PCSTSPTW
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming
Questions
Stephen Page
PCSTSPTW