shortest paths: applications, variations and...
TRANSCRIPT
![Page 1: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/1.jpg)
Shortest Paths: Applications, Variations
and Optimization
Natashia Boland
Irina Dumitrescu
Mathematics and StatisticsUniversity of Melbourne
& HEC Montreal, Canada Research Chair in
Distribution Management
![Page 2: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/2.jpg)
Outline• Applications of shortest paths
- Minefield path planning- Approximating piecewise linear functions- Systems of difference constraints- DNA sequence alignment
• Optimization: linear programming formulation
• Variations of shortest paths- Resource constraints- Elementary paths
![Page 3: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/3.jpg)
Minefield Path Planning• Find safe path through naval minefield
- Given starting point and end point - Location of mines is known accurately
• Each mine is considered a potential threat
• Risk from a mine decreases with distance from it
• Risk at each point in space is total risk from all mines
• Total risk for a path is accumulated along the path
• Minimize risk
![Page 4: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/4.jpg)
100 Random Mines
![Page 5: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/5.jpg)
• The risk (probability of damage) from the ith threat (mine) ri(x) at any point x in space is proportional to the inverse square of the distance from it:
• The total risk is the sum of the risks:
A Risk Model
distance from x to mine ithreat-dependent constant
ri(x)=σi(di(x))-2
r(x) = Σri(x)i
![Page 6: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/6.jpg)
• Loosely speaking, the probability of successfully completing the path P, defined as a set of points in space, is
where r(x) is the risk at point x.
• Maximizing this is equivalent to minimizing
where c(x) is the “additive” risk at point x.
The Risk Model
Π (1-r(x))x∈P
∫ c(x)dx = ∫ (-log(1-r(x))) dx x∈P x∈P
![Page 7: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/7.jpg)
Optimal control path
![Page 8: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/8.jpg)
Corridor of Mines
![Page 9: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/9.jpg)
A Local Optimum
Length: 1.41
Total risk: 6195.67
![Page 10: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/10.jpg)
Alternative
Length: 1.41
Total risk: 6195.67
Length: 2.62
Total risk: 115.35
![Page 11: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/11.jpg)
Local vs Global
• Continuous approaches can only yield locally optimal solutions
• These may be far from globally optimal
• Space discretization gives an approximate problem – but means we can find a globally optimal solution
![Page 12: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/12.jpg)
Network Model
• Discrete points in space form vertex set V
• Arcs A connect selected pairs of vertices
• Directed graph space discretization G=(V,A)
![Page 13: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/13.jpg)
Regular Grid Discretization• “Optimal Risk Path Algorithms”
- Zabarankin, Uryasev and Pardalos
![Page 14: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/14.jpg)
Hexagonal Grid Discretization• “Path Planning For Unmanned Aerial Vehicles in
Uncertain and Adversarial Environments”
- Jun and D’Andrea
![Page 15: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/15.jpg)
Network Models• Each arc has risk value given by the integral of c
along the line segment joining the two vertices that form the endpoints of the arc
• Shortest path algorithms find minimum risk paths in graph G(V, A)
• These ideas can be applied to many similar situations- Submarine sonar avoidance path planning
- Military aircraft radar avoidance path planning
- Commercial aircraft flight planning
- Highway or railway construction
![Page 16: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/16.jpg)
Function Approximation• f(x) a piecewise linear function defined by n points
(x1,y1), (x2,y2),…,(xn,yn), where x1 ≤ x2 ≤ … ≤ xn
x
(x1,y1)
(x2,y2)
(x3,y3)
(x4,y4)
(x5,y5) (x6,y6)
(x7,y7) (x8,y8)
f(x)
![Page 17: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/17.jpg)
Function Approximation• n is very large: approximate f(x) by g(x)
• Restrict attention to g(x) also piecewise linear defined by (x1,y1), (xn,yn) and a subset of (x2,y2),…,(xn-1,yn-1)
x
(x1,y1)
(x2,y2)
(x3,y3)
(x4,y4)
(x5,y5) (x6,y6)
(x7,y7) (x8,y8)
f(x)
g(x)
![Page 18: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/18.jpg)
How Good Is It?• Quality of approximation: measure by [f(xi)-g(xi)]2
• Find g(x) to minimize Σ [f(xi)-g(xi)]2
• Trade off vs number of points used to define g(x)
x
(x1,y1)
(x2,y2)
(x3,y3)
(x4,y4)
(x5,y5) (x6,y6)
(x7,y7) (x8,y8)
f(x)
f(x2)- g(x2)
i=1
n
× α
× β
![Page 19: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/19.jpg)
Network Model• Node i for each point i=1,…,n
• Arc (i,j) defined for all i,j=1,…,n with i < j
• Arc (i,j) indicates possibility that g(x) uses point (xi,yi) and then point (xj,yj), i.e. skips points
(xi+1,yi+1),…,(xj-1,yj-1)
• Arc (i,j) has cost (length)
α Σ [f(xk)-g(xk)]2 + β
• Find shortest path from node 1 to node n
k=i+1
j-1 (only if j≠n)
![Page 20: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/20.jpg)
x
(x1,y1)
(x2,y2)
(x3,y3)
(x4,y4)
(x5,y5) (x6,y6)
(x7,y7) (x8,y8)
f(x)
g(x)
1 2 3 4 5 6 7 8
![Page 21: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/21.jpg)
x
(x1,y1)
(x2,y2)
(x3,y3)
(x4,y4)
(x5,y5) (x6,y6)
(x7,y7) (x8,y8)
f(x)
g(x)
1 2 3 4 5 6 7 8
![Page 22: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/22.jpg)
x
(x1,y1)
(x2,y2)
(x3,y3)
(x4,y4)
(x5,y5) (x6,y6)
(x7,y7) (x8,y8)
f(x)
g(x)
1 2 3 4 5 6 7 8
∆2 ∆3
∆5
∆7
α (∆22+ ∆3
2) + β
α ∆72
α ∆52 + β
Path length = α (∆22+∆3
2)+β+α ∆52+β+α ∆7
2 = α (∆22+∆3
2+∆52+∆7
2)+2β
![Page 23: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/23.jpg)
Systems of Difference Constraints
• Variables x1, x2,…, xn
• Constraints xjk – xik
≤ bk, k=1,…,m
• Does this system of constraints have a feasible solution, or not?
![Page 24: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/24.jpg)
• Workforce scheduling- Fluctuating hourly or daily demands
- Cyclical demands
- Consistent shift structure or work patterns, e.g. 5 days on, 2 days off per week
- Minimize number of workers needed to meet demands
• Other similar, e.g. trucks, maintenance
Applications
![Page 25: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/25.jpg)
• Variables x1, x2, x3, x4
• Constraints x3 – x4 ≤ 5
x4 – x1 ≤ -10
x1 – x3 ≤ 8
x2 – x1 ≤ -11
x3 – x2 ≤ 4
• Does this system of constraints have a feasible solution, or not?
• x1=11 , x2 = 0 , x3 = 4 , x4 = 1
Example
+ α + α + α + α for any α
![Page 26: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/26.jpg)
• Node i for each variable xi
• Arc for each constraint xj – xi ≤ bij
• Nodes N={1,…,n}Arcs A={(ik,jk) : k=1,…,m}
Length of arc (ik,jk) is bk
• This is called the constraint graph
Network Model
i
i jbij
![Page 27: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/27.jpg)
• Variables x1, x2, x3, x4
• Constraints x3 – x4 ≤ 5
x4 – x1 ≤ -10
x1 – x3 ≤ 8
x2 – x1 ≤ -11
x3 – x2 ≤ 4
Example: Constraint Graph
1
4
2
3
-11
-10
5
8 4
![Page 28: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/28.jpg)
System of difference constraints is feasible
Constraint graph has no negative length cycles
Modified example x3 – x4 ≤ 5 x2 – x1 ≤ -11
x4 – x1 ≤ -10 x3 – x2 ≤ 4
x1 – x3 ≤ 5 x1 – x3 ≤ 5
x2 – x1 ≤ -11 0 ≤ -2
x3 – x2 ≤ 4
Feasibility Condition
1
4
2
3
-11
-10
5
5 4
Negative cycle constraints
![Page 29: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/29.jpg)
• Augmented constraint graph:- Node 0
- Arcs (0,i) for all i=1,…,n of length 0
• Find shortest path from 0 to all nodes x3 – x4 ≤ 5
x4 – x1 ≤ -10
x1 – x3 ≤ 8
x2 – x1 ≤ -11
x3 – x2 ≤ 4
Feasible Example
1
4
2
3
-11
-10
5
8 4
00
0
-10
-11
-7
Solution:x1 = 0
x2 = -11
x3 = -7x4 = -10
![Page 30: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/30.jpg)
• d(j) = label on node j• Optimality means d(j) – d(i) ≤ length of (i,j)• Solution xj =d(j)
• xj – xi = d(j) – d(i) ≤ length of (i,j) = bij
x3 – x4 ≤ 5
x4 – x1 ≤ -10
x1 – x3 ≤ 8
x2 – x1 ≤ -11
x3 – x2 ≤ 4
Path Optimality
1
4
2
3
-11
-10
5
8 4
00
0
-10
-11
-7
x1 = 0
x2 = -11
x3 = -7x4 = -10
![Page 31: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/31.jpg)
• Two sequences B and D- e.g. B = TCCG, D = CTAGC
• Convert B to D in a “minimal” way- Align matching elements in sequence- Insert new elements into B (cost a)- Delete elements from B (cost b)- Mutate elements in B (cost depends on
elements, e.g. to convert C to G costs g(C,G))
DNA Sequences
![Page 32: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/32.jpg)
Cost = 2a + b + g(C,A)
ExampleT C C G
C T A G C
B
D
g(C,A)b
C
a
C
a
Cost = a + g(T,C) + g(C,T) + g(C,A)
T C C G
C T A G C
B
D
g(C,A)
C
ag(C,T)g(T,C)
![Page 33: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/33.jpg)
• Sequence B has elements b1,…,bN, sequence D has elements d1,…,dM
• Node for each pair (i,j), i=0,1,…,N, j=0,1,…,M• represents decision about matching element bi with dj
• (0,0) is the start node, with nothing matched• “j=0” indicates deleting element at start of B up to bi+1
• “i=0” indicates adding new elements at start of B to match up to dj+1
• Arc for each option:• Match (diagonal arc)• Insert new element (horizontal arc)• Delete element (vertical arc)
Network Model
(i,j)
(i-1,j-1) (i-1,j)
(i,j-1)
b
a
g(bi,dj)
![Page 34: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/34.jpg)
Example Network
(0,0) (0,1) (0,2) (0,3) (0,4) (0,5)
(1,0) (1,1) (1,2) (1,3) (1,4) (1,5)
(2,0) (2,1) (2,2) (2,3) (2,4) (2,5)
(3,0) (3,1) (3,2) (3,3) (3,4) (3,5)
(4,0) (4,1) (4,2) (4,3) (4,4) (4,5)
T
C
C
G
B
C CT GA
D
b
a
a
g(T,C)
g(C,A)
g(G,G)
g(T,T)
g(C,T)
(Assume g(X,X)=0)
![Page 35: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/35.jpg)
• Each path from (0,0) to (N,M) represents a different way to convert sequence B to sequence D
• Least cost path corresponds to best match
Shortest path model
![Page 36: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/36.jpg)
• There are numerous applications of shortest path problems
• Shortest paths are often solved as subproblems in other procedures
• See “Network Flows” by R. Ahuja et al., Chapter 4, and references therein
Other Applications
![Page 37: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/37.jpg)
• The shortest path problem can be formulated as a network flow
Digraph G=(V,A)
Arc costs or lengths cij, for all (i,j) ∈ A
Path start node s ∈ V, end node t ∈ V, s ≠ t
• Variables xij = 1 if (i,j) in path, 0 otherwise
• Net flow into node i = xij - xij
Linear Programming
Σj : (j,i) ∈ A
Σj : (i,j) ∈ A
![Page 38: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/38.jpg)
min cij xij
s.t.
xji - xij = -1, i=s0, i≠s,t1, i=t
x ≥ 0
LP Formulation
Σj : (j,i) ∈ A
Σj : (i,j) ∈ A
Σ(i,j) ∈ A
∀i ∈ V
![Page 39: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/39.jpg)
Duality Results• LP dual has variables ui for each node i ∈ V
• ui can be interpreted as the length of path from node s to node i
• LP dual constraints are difference constraints!
• LP is bounded below if and only if there is no negative length cycle
• LP optimality conditions correspond to the usual path optimality conditions
• Can deduce that the LP formulation has the integrality property, i.e. 0-1 solutions naturally
![Page 40: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/40.jpg)
Time Windows• A path in a network G=(V,A) may represent a
route for a delivery vehicle• In this case, the time that the vehicle makes
each delivery may be constrained• Tij = time needed for vehicle to drive from node
i to node j (may includes unloading at i)• [ai,bi] = time interval must arrive at node i in• ti = time arrive at node i • If (i,j) in path, then tj = max{ti + Tij, ai}
• Require ti ≤ bi for all i ∈ V
![Page 41: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/41.jpg)
min cij xij
s.t.
xji - xij = -1, i=s0, i≠s,t1, i=t
tj ≥ ti +Tij – (bi+Tij-aj)(1-xij), ∀(i,j) ∈ A
ai ≤ ti ≤ bi, ∀i ∈ V
Integer LP Formulation
Σj : (j,i) ∈ A
Σj : (i,j) ∈ A
Σ(i,j) ∈ A
∀i ∈ V
x∈{0,1}|A|, t
![Page 42: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/42.jpg)
Additive Arc Resources• A path in a network G=(V,A) may represent a
route for a delivery vehicle• The petrol consumed by the vehicle may be
constrained by its tank capacity, Q• Dij = petrol consumed on arc (i,j)
• di = total petrol consumed visiting all customers on the route up to and including i
• If (i,j) in path, then dj = di + Dij
• Require di ≤ Q for all i ∈ V (or just dt ≤ Q)
• Special case of time windows [0,Q]
![Page 43: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/43.jpg)
min cij xij
s.t.
xji - xij = -1, i=s0, i≠s,t1, i=t
Dijxij ≤ Q
ILP Formulation
Σj : (j,i) ∈ A
Σj : (i,j) ∈ A
Σ(i,j) ∈ A
∀i ∈ V
x∈{0,1}|A|
Σ(i,j) ∈ A
![Page 44: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/44.jpg)
Additive Node Resources• A path in a network G=(V,A) may represent a
route for a delivery vehicle• The quantity that can be carried on the vehicle
may be constrained by its capacity, Q• Di = demand quantity for node i
• di = total demand for all customers preceding on the route, including i
• If (i,j) in path, then dj = di + Dj
• Require di ≤ Q for all i ∈ V (or just dt ≤ Q)
• Special case of additive arc resource
![Page 45: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/45.jpg)
min cij xij
s.t.
xji - xij = -1, i=s0, i≠s,t1, i=t
Dixij ≤ Q - Dt
ILP Formulation
Σj : (j,i) ∈ A
Σj : (i,j) ∈ A
Σ(i,j) ∈ A
∀i ∈ V
x∈{0,1}|A|
Σ(i,j) ∈ A
![Page 46: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/46.jpg)
Vector Resources• Arc (i,j) may use rk
ij units of resource k
• Resource limits Rk for each resource k
• qki = cumulative units of resource k used
on path nodes from s to i
• If (i,j) in path, then qkj = qk
i + rkij
• Require qkt ≤ Rk for all k
• (Alternatively, some resources may be time window type, not just additive)
![Page 47: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/47.jpg)
min cij xij
s.t.
xji - xij = -1, i=s0, i≠s,t1, i=t
rkijxij ≤ Rk, ∀resources k
ILP Formulation
Σj : (j,i) ∈ A
Σj : (i,j) ∈ A
Σ(i,j) ∈ A
∀i ∈ V
x∈{0,1}|A|
Σ(i,j) ∈ A
![Page 48: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/48.jpg)
Renewable Resources• A path may represent a sequence of work
for a crew in a “job network”, perhaps including several duty periods with rests in between
• The resource can be replenished at some special nodes, R ⊆ V
• If (i,j) in path and j ∉ R, then dj = di + Dj
• So if j ∈ R then free to re-set dj = 0
• Require di ≤ Q for all i ∈ V
![Page 49: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/49.jpg)
Elementary Paths• Shortest path problems often arise as
sub-problems in column generation • In these cases there may be negative
length cycles – a shortest elementary path (no repeated nodes) is sought
• This can be modelled by using a vector of additive resources, one for each node i
• Resource rki=1 if k=i, 0 otherwise ∀i,k ∈ V
• Resource limit Rk=1 for each k ∈ V
![Page 50: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina](https://reader035.vdocument.in/reader035/viewer/2022062610/611834f3b748f604fe6b7292/html5/thumbnails/50.jpg)
Other Variations
• Multi-criteria optimization
• Dynamic shortest paths e.g. with time-dependent travel times, such as due to peak-hour congestion
• Subset disjoint paths
• Many others……