# shortest paths: models and algorithms - sede di righini/didattica/complementiricercaoperativa... ·...

Post on 03-Feb-2018

213 views

Embed Size (px)

TRANSCRIPT

Shortest paths: models and algorithmsComplements of Operations Research

Giovanni RighiniUniversita degli Studi di Milano

Outline

Part I. Basic results in LP duality. Part II. The shortest path problem: primal and dual formulations. Part III. The shortest path problem: algorithms. Conclusion. Lessons learned.

Linear Programming (LP) duality

Every linear program P has a dual linear program D.

P) minimize z =cx + cx

s.t. ax + ax b

d x + d x = b

x 0

x free

D) maximize w =by + by

s.t. ay + d y c

ay + d y = c

y 0

y free

The fundamental theorem of LP duality

One of these four cases can occur (and the simplex algorithm candetect it in a finite number of steps):

both P and D have a finite optimal solution;

P is unbounded and D is infeasible;

D is unbounded and P is infeasible;

both P and D are infeasible.

Three more theorems

Weak duality theorem.For each feasible solution x of P and for each feasible solution y of D,z(x) w(y).

Strong duality theorem.If there exist a feasible and optimal solution x for P and a feasibleand optimal solution y for D, then z(x) = w(y).

Complementary slackness theorem.Given a feasible solution x for P and a feasible solution y for D,necessary and sufficient condition for them to be optimal is:

x (c ay ) = 0

y (ax b) = 0.

The Shortest Path Problem

Data: a digraph D = (N ,A) with |N | = n nodes and |A| = m arcs;

a source node s N ;

a cost function c : A 7 .

Shortest Path Problem (SPP).Find all minimum cost (i.e. shortest) paths from s to all nodes in N .

The problem is also called Shortest Path Tree/ArborescenceProblem, because of a property of its solution: the set of all shortestpaths forms a spanning arborescence rooted in s.

The shortest paths arborescence

1

2

3

4

5

6 7

1

1

2

2

1

2

2

4

1

3

1

1

0

1 2

2 4

5

6

Figura: A shortest paths arborescence (s = 1). Costs are black. Flows arered. Distances are blue.

Bellmans optimality principle

Bellmans optimality principle states that each optimal policy is madeby optimal sub-policies.

Translating this statement for the SPP:every shortest path from s to t N visiting i N is made by theshortest path from s to i and the shortest path from i to t.

As a consequence of this principle, the set of all the shortest pathsfrom s to N forms a spanning arborescence rooted in s.

But this principle is indeed a theorem: it can be proved, instead ofassumed.

We do not assume a priori that we are looking for a spanningarborescence rooted in s.

The mathematical model: variables

Variables. We associate an integer variable xij Z+ with each arc ofthe digraph. It indicates the number of shortest paths that use arc(i, j) A.

1

2

3

4

5

6 7

1

1

2

2

1

2

2

4

1

3

1

1

0

1 2

2 4

5

6

Figura: One unit of flow goes from s to each other node. The flow on eacharc equals the number of nodes that are reached through it.

The mathematical model: obj. function

Objective function. We want to minimize each path from s to t N :

minimize

(i,j)A

cijxij .

1

2

3

4

5

6 7

1

1

2

2

1

2

2

4

1

3

1

1

0

1 2

2 4

5

6

Figura: The sum of the costs times the flow equals the sum of the distances:12+11+24+23+11+21 = 0+ 1+ 2+ 2+ 4+ 5+ 6 = 20.

The mathematical model: constraints

Constraints. For each shortest path from s to t N we impose theflow conservation constraints:

(j,i)i

xji

(i,j)+i

xij = 0 i N\{s, t}

(j,s)s

xjs

(s,j)+s

xsj = 1

(j,t)t

xjt

(t,j)+t

xtj = +1

Summing up for all t N we obtain:

(j,i)i

xji

(i,j)+i

xij = 1 i N\{s}

(j,s)s

xjs

(s,j)+s

xsj = 1 n

SPP: primal formulation (ILP)

P) minimize

(i,j)A

cijxij

s.t.

(j,i)i

xji

(i,j)+i

xij = 1 i N\{s}

(j,s)s

xjs

(s,j)+s

xsj = 1 n

xij Z+ (i, j) A.

Observation 1. The constraint matrix is totally unimodular, i.e. everysub-matrix has a determinant equal to -1, 0 or 1.

Observation 2. The right-hand-sides of the constraints are all integernumbers.

In this case we have the guarantee that every base solution of thecontinuous relaxation of P has integer coordinates.

Reformulation (relaxation) of the primal problem (LP)

Hence we can relax the integrality restrictions:

P) minimize

(i,j)A

cijxij

s.t.

(j,i)i

xji

(i,j)+i

xij = 1 i N\{s}

(j,s)s

xjs

(s,j)+s

xsj = 1 n

xij 0 (i, j) A.

This linear problem P has a dual problem, D, and for the primal-dualpair (P,D) the duality theorems hold.

SPP: Dual formulation (LP)

P) minimize

(i,j)A

cijxij

s.t.

(j,i)i

xji

(i,j)+i

xij = 1 i N\{s}

(j,s)s

xjs

(s,j)+s

xsj = 1 n

xij 0 (i, j) A.

D) maximize

iN\{s}

yi + (1 n)ys

s.t. yj yi cij (i, j) A

yi free i N .

An equivalent dual formulation (LP)

D) maximize

iN\{s}

yi+(1 n)ys

s.t. yj yi cij (i, j) A

yi free i N .

Observation 1. If we add a constant to each y variable, nothingchanges. Hence we are allowed to fix one variable:

ys = 0

Observation 2. We have m inequality constraints, n 1 original yvariables and m slack variables. The LP tableau of the dual problemhas m rows and n 1 + m columns. Hence in each base solution ofD there should be m basic variables and n 1 non-basic (null)variables. For the complementary slackness theorem, there shouldbe red n 1 basic (positive) variables in the primal problem.

An equivalent primal formulation (LP)

P) minimize

(i,j)A

cijxij

s.t.

(j,i)i

xji

(i,j)+i

xij = 1 i N\{s}

(j,s)s

xjs

(s,j)+s

xsj = 1 n

xij 0 (i, j) A.

Observation 3. We have n equality constraints that are not linearlyindependent: summing up all the rows we obtain 0 = 0. Hence weare allowed to delete one constraint: we delete the flow conservationconstraint for s.Observation 4. We have now n 1 equality constraints and mvariables. The LP tableau of P has n 1 rows and m columns.Hence in each base solution of P there are n 1 basic variables andm (n 1) non-basic variables.

Complementary slackness conditions (CSC)

P) minimize z =

(i,j)A

cijxij

s.t.

(j,i)i

xji

(i,j)+i

xij = 1 i N\{s}

xij 0 (i, j) A.

D) maximize w =

iN\{s}

yi

s.t. yj yi cij (i, j) A

yi free i N\{s}.

Primal CSCs: xij(yi + cij yj)= 0Basic variables in P correspond to active constraints in D.Only arcs (i, j) for which yi + cij = yj can carry flow xij .

The Ford-Fulkerson algorithm (1962)

Data structures: a predecessor label, i for each node i N ;

a cost label, yi for each node i N .

Algorithm:

Step FF1 (Initialization):Set ys:=0 and yi := i N\{s}.Set i :=nil i N .

Step FF2 (Iteration):Select an arc (i, j) A such that yj yi > cij .If such an arc exists

then Set yj := yi + cij , j := i and repeat;else Terminate;

Different algorithms with different worst-case time complexity areobtained from different implementations of the Select function.

Feasibility

After initialization (Step FF1) we have neither primal feasibility nordual feasibility.

Primal viewpoint:We have i = nil for all i N ; hence no flow enters any node.

Dual viewpoint:We have yi = for all i N\{s}; hence all constraints yi ys csiare violated.

The FF algorithm maintains the CSCs and iteratively enforces primaland dual feasibility.

Dual descent

After each iteration (Step FF2) one of the dual values yj is decreased from a value such that yj yi > cij to a value such that yj yi = cij

so that arc (i, j) becomes tight and xij enters the primal basis.

What happens to the other constraints (dual viewpoint) and arcs(primal viewpoint)?

There are two cases: Case I: before the iteration, yj = and j = nil. In this case arc(i, j) becomes tight and nothing else changes. Flow can nowreach j from i (node j has been appended to the arborescence).

Case II: before the iteration, yj 6= and j = k . In this casenode j was already in the arborescence and was receiving flowfrom node k along a tight arc (k , j), i.e. yj yk = wkj . After theiteration, arc (k , j) is no longer tight, i.e. yj yk < wkj and cannotcarry flow any more. Node j now receives flow from i and notfrom k .

Case I

1

2

3

6

5

4

7

1

1

2

5

2 1

1

0

1

2

2

1

3

5

6

7

1

1

2

3 1

1

0

1

2

2

5 6 1

2 4

Figura: Arc (5,6) becomes tight and y6 takes a finite value.

Case II

1

2

3

4

5

6

7