50
Shortest Paths: Applications, Variations and Optimization Natashia Boland Irina Dumitrescu Mathematics and Statistics University of Melbourne & HEC Montreal, Canada Research Chair in Distribution Management

Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina

  • Upload
    others

  • View
    39

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina

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

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

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

100 Random Mines

Page 5: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina

• 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

• 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

Optimal control path

Page 8: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina

Corridor of Mines

Page 9: Shortest Paths: Applications, Variations and Optimizationforskning.diku.dk/PATH05/BolandDumitrescu.pdfShortest Paths: Applications, Variations and Optimization Natashia Boland Irina

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

• 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

• 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

• 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

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

• 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

• 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

• 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

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

• 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

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

• 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

• 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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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……