prize-collecting steiner travelling salesman problem with time … · 2019-12-05 · introduction...

63
Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Prize-Collecting Steiner Travelling Salesman Problem with Time Windows Stephen Page 7 September 2012 Stephen Page PCSTSPTW

Upload: others

Post on 08-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

Introduction Linear Programming Vehicle Routing Problems Dynamic Programming

Prize-Collecting Steiner Travelling SalesmanProblem with Time Windows

Stephen Page

7 September 2012

Stephen Page

PCSTSPTW

Page 2: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 3: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 4: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 5: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 6: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 7: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 8: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 9: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 10: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 11: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 12: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 13: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 14: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 15: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 16: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 17: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 18: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 19: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 20: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 21: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 22: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 23: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 24: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 25: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 26: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 27: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 28: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 29: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 30: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 31: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 32: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 33: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 34: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 35: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 36: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 37: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 38: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 39: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 40: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 41: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 42: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 43: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 44: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 45: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 46: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 47: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 48: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 49: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 50: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 51: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 52: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 53: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 54: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 55: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 56: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 57: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 58: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 59: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 60: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 61: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 62: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

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

Page 63: Prize-Collecting Steiner Travelling Salesman Problem with Time … · 2019-12-05 · Introduction Linear Programming Vehicle Routing Problems Dynamic Programming Adaptation Formulation

Introduction Linear Programming Vehicle Routing Problems Dynamic Programming

Questions

Stephen Page

PCSTSPTW