Resource Constrained Shortest Paths with Side Constraints and Non - - PowerPoint PPT Presentation

resource constrained shortest paths with side constraints
SMART_READER_LITE
LIVE PREVIEW

Resource Constrained Shortest Paths with Side Constraints and Non - - PowerPoint PPT Presentation

Resource Constrained Shortest Paths with Side Constraints and Non Linear Costs Stefano Gualandi stefano.gualandi@unipv.it http://www-dimat.unipv.it/~gualandi twitter: @famo2spaghi Thursday, September 19, 13 Outline 1. Introduction 2. Non


slide-1
SLIDE 1

Resource Constrained Shortest Paths with Side Constraints and Non Linear Costs

Stefano Gualandi stefano.gualandi@unipv.it http://www-dimat.unipv.it/~gualandi twitter: @famo2spaghi

Thursday, September 19, 13

slide-2
SLIDE 2
  • 1. Introduction
  • 2. Non Linear Costs
  • 3. Iterated Preprocessing
  • 4. Lower bounding via Lagrangian Relaxation
  • 5. Computational Results

Outline

Thursday, September 19, 13

slide-3
SLIDE 3

Column Generation Overview

What is F in Crew Scheduling problems?

Thursday, September 19, 13

slide-4
SLIDE 4

Resource Constrained Shortest Path

The problem of putting together a set of pieces of work into a single duty, that is a column or variable of problem (LP-MP), is formalized as a Resource Constrained Shortest Path Problem Example 12 pieces of works, 3 depots

Thursday, September 19, 13

slide-5
SLIDE 5

Resource Constrained Shortest Path

Let G = (N, A) be the compatibility graph, weighted, directed, and acyclic: N = P ∪ {{sh, th}|h ∈ D} a node for each PoW, and a pair of nodes for each depot A has an arc for each pair (i, j) of compatible PoW, and (sh, i) (pull-out) and (i, th) (pull-in) ∀h ∈ D and i ∈ P

Thursday, September 19, 13

slide-6
SLIDE 6

Resource Constrained Shortest Path

∀ ∈ ∈ each arc (i, j) has associated a set of resources r k

ij , for each k ∈ K,

e.g. working time, driving time, and break time (other resources may be used to model working regulation)

Thursday, September 19, 13

slide-7
SLIDE 7

Example of Crew Schedules (with reosurces)

Resources:

1 spread time (red) 2 driving time (light blue), corresponds to PoW 3 out-of-service time (yellow) 4 long break (grey) 5 breaks (green), very important how they are located

Thursday, September 19, 13

slide-8
SLIDE 8

Non Linear Costs

Thursday, September 19, 13

slide-9
SLIDE 9

Non Linear Costs

Thursday, September 19, 13

slide-10
SLIDE 10

Non Linear Costs

200 400 600 800 Time f(t(P)) = step(t(P)) + (t(P))^2 60 120 180 240 300 360 420 480 540 600 660 720

Thursday, September 19, 13

slide-11
SLIDE 11

Resource Constrained Shortest Paths (RCSP)

Arc-flow IP formulation with non linear costs fh

3

·

4

: min

ÿ

e∈A

wexe +

ÿ

k∈K

ÿ

h∈H

fh

3 ÿ

e∈A

r k

e xe

4

s.t.

ÿ

e∈δ+

i

xe −

ÿ

e∈δ−

i

xe = bi =

Y _ ] _ [

+1 if i = s −1 if i = t

  • therwise

∀i ∈ N

ÿ

e∈A

r k

e xe ≤ Uk

∀k ∈ K + side non linear constraints xe ∈ {0, 1} ∀e ∈ A.

Thursday, September 19, 13

slide-12
SLIDE 12

s c d b a i t 5, 1 5, 1 5, 1 5, 1 10, 0 5, 0 10, 0 5, 0

we, te

Resource Constrained Shortest Paths (RCSP)

Thursday, September 19, 13

slide-13
SLIDE 13

s c d b a i t 5, 1 5, 1 5, 1 5, 1 10, 0 5, 0 10, 0 5, 0

we, te

Resource Constrained Shortest Paths (RCSP)

We restrict to super additive functions: c(P1 ∪ P2) ≥ c(P1) + c(P2)

Thursday, September 19, 13

slide-14
SLIDE 14

s c d b a i t 5, 1 5, 1 5, 1 5, 1 10, 0 5, 0 10, 0 5, 0

we, te

Resource Constrained Shortest Paths (RCSP)

Example: er c(P) = w(P) + f

! P " = q

e∈P we +

!q

e∈P te

"2 :

We restrict to super additive functions: c(P1 ∪ P2) ≥ c(P1) + c(P2)

Thursday, September 19, 13

slide-15
SLIDE 15

s c d b a i t 5, 1 5, 1 10, 0 5, 0

we, te

Resource Constrained Shortest Paths (RCSP)

Example: er c(P) = w(P) + f

! P " = q

e∈P we +

!q

e∈P te

"2 :

Optimal Path: P2 = {s, c, i, b, t}, c(P2) = 25 + 4 = 29

5, 1 5, 1 10, 0 5, 0

We restrict to super additive functions: c(P1 ∪ P2) ≥ c(P1) + c(P2)

Thursday, September 19, 13

slide-16
SLIDE 16

Example: er c(P) = w(P) + f

! P " = q

e∈P we +

!q

e∈P te

"2 :

s c d b a i t 5, 1 5, 1 5, 1 5, 1 10, 0 5, 0 10, 0 5, 0

we, te 15

Resource Constrained Shortest Paths (RCSP)

Optimal Path: P2 = {s, c, i, b, t}, c(P2) = 25 + 4 = 29 14 We restrict to super additive functions: c(P1 ∪ P2) ≥ c(P1) + c(P2)

Thursday, September 19, 13

slide-17
SLIDE 17

Example: er c(P) = w(P) + f

! P " = q

e∈P we +

!q

e∈P te

"2 :

s c d b a i t 5, 1 5, 1 5, 1 5, 1 10, 0 5, 0 10, 0 5, 0

we, te 15 14

Resource Constrained Shortest Paths (RCSP)

Optimal Path: P2 = {s, c, i, b, t}, c(P2) = 25 + 4 = 29 14 We restrict to super additive functions: c(P1 ∪ P2) ≥ c(P1) + c(P2)

Thursday, September 19, 13

slide-18
SLIDE 18

Example: er c(P) = w(P) + f

! P " = q

e∈P we +

!q

e∈P te

"2 :

s c d b a i t 5, 1 5, 1 5, 1 5, 1 10, 0 5, 0 10, 0 5, 0

we, te

Resource Constrained Shortest Paths (RCSP)

Path: P3 = {s, a, i, b, t}, c(P2) = 20 + 16 = 36 36 We restrict to super additive functions: c(P1 ∪ P2) ≥ c(P1) + c(P2)

Thursday, September 19, 13

slide-19
SLIDE 19

Example: er c(P) = w(P) + f

! P " = q

e∈P we +

!q

e∈P te

"2 :

s c d b a i t 5, 1 5, 1 5, 1 5, 1 10, 0 5, 0 10, 0 5, 0

we, te 15 14

Resource Constrained Shortest Paths (RCSP)

Bellmann’s optimality conditions do not hold! We restrict to super additive functions: c(P1 ∪ P2) ≥ c(P1) + c(P2)

Thursday, September 19, 13

slide-20
SLIDE 20
  • 1. Introduction
  • 2. Non Linear Costs
  • 3. Iterated Preprocessing
  • 4. Lower bounding via Lagrangian Relaxation
  • 5. Computational Results

Outline

Thursday, September 19, 13

slide-21
SLIDE 21

(Beasley and Christofides, 1989; Dumitrescu and Boland, 2003; Sellmann et al., 2007)

  • if r k(P∗

si) + r k e + r k(P∗ jt) > Uk then remove arc e = (i, j)

where P∗

si and P∗ jt are shortest (k-th resource) paths.

Resource consumption of each arc. Upper resource bound U = 7.

Resource-based Preprocessing

Thursday, September 19, 13

slide-22
SLIDE 22

(Beasley and Christofides, 1989; Dumitrescu and Boland, 2003; Sellmann et al., 2007)

  • if r k(P∗

si) + r k e + r k(P∗ jt) > Uk then remove arc e = (i, j)

where P∗

si and P∗ jt are shortest (k-th resource) paths.

Resource consumption of each arc. Upper resource bound U = 7.

s c d b a t 2 6 1 1 4 2

re

1 3 2

Resource-based Preprocessing

Thursday, September 19, 13

slide-23
SLIDE 23

(Beasley and Christofides, 1989; Dumitrescu and Boland, 2003; Sellmann et al., 2007)

  • if r k(P∗

si) + r k e + r k(P∗ jt) > Uk then remove arc e = (i, j)

where P∗

si and P∗ jt are shortest (k-th resource) paths.

Resource consumption of each arc. Upper resource bound U = 7.

s c d b a t 2 6 1 1 4 2

re

1 3 2

Resource-based Preprocessing

Thursday, September 19, 13

slide-24
SLIDE 24

(Beasley and Christofides, 1989; Dumitrescu and Boland, 2003; Sellmann et al., 2007)

  • if r k(P∗

si) + r k e + r k(P∗ jt) > Uk then remove arc e = (i, j)

where P∗

si and P∗ jt are shortest (k-th resource) paths.

Resource consumption of each arc. Upper resource bound U = 7.

s c d b a t 2 6 1 1 4 2

re

1 3 2

Resource-based Preprocessing

Thursday, September 19, 13

slide-25
SLIDE 25

(Beasley and Christofides, 1989; Dumitrescu and Boland, 2003; Sellmann et al., 2007)

  • if r k(P∗

si) + r k e + r k(P∗ jt) > Uk then remove arc e = (i, j)

where P∗

si and P∗ jt are shortest (k-th resource) paths.

Resource consumption of each arc. Upper resource bound U = 7.

s c d b a t 2 6 1 1 4 2

re

1 3 2

Resource-based Preprocessing

Thursday, September 19, 13

slide-26
SLIDE 26

(Beasley and Christofides, 1989; Dumitrescu and Boland, 2003; Sellmann et al., 2007)

  • if r k(P∗

si) + r k e + r k(P∗ jt) > Uk then remove arc e = (i, j)

where P∗

si and P∗ jt are shortest (k-th resource) paths.

Resource consumption of each arc. Upper resource bound U = 7.

s c d b a t 2 6 1 1 4 2

re

1 3 2

Resource-based Preprocessing

Thursday, September 19, 13

slide-27
SLIDE 27

s c d b a t 2 6 1 1 4 2

ce

1 3 2

Cost-based Preprocessing

UB=7

Thursday, September 19, 13

slide-28
SLIDE 28

s c d b a t 2 6 1 1 4 2

ce

1 3 2

Cost-based Preprocessing

UB=7

Thursday, September 19, 13

slide-29
SLIDE 29

s c d b a t 2 6 1 1 4 2

ce

1 3 2

Cost-based Preprocessing

  • if LB(c(P∗

s

e

− →t)) ≥ UB then remove arc e

where P∗

s

e

− →t is a shortest path from s to t via arc e.

UB=7

Thursday, September 19, 13

slide-30
SLIDE 30
  • 1. Introduction
  • 2. Non Linear Costs
  • 3. Iterated Preprocessing
  • 4. Lower bounding via Lagrangian Relaxation
  • 5. Computational Results

Outline

Thursday, September 19, 13

slide-31
SLIDE 31

Resource Constrained Shortest Paths (RCSP)

Arc-flow IP formulation with non linear costs f

! · "

h:

min

ÿ

e∈A

wexe +

ÿ

k∈K

ÿ

h∈H

fh

3 ÿ

e∈A

r k

e xe

4

s.t.

ÿ

e∈δ+

i

xe −

ÿ

e∈δ−

i

xe = bi =

Y _ ] _ [

+1 if i = s −1 if i = t

  • therwise

∀i ∈ N

ÿ

e∈A

r k

e xe ≤ Uk

∀k ∈ K + side non linear constraints xe ∈ {0, 1} ∀e ∈ A.

Thursday, September 19, 13

slide-32
SLIDE 32

Resource Constrained Shortest Paths (RCSP)

Arc-flow IP formulation with non linear costs f

! · ":

min

ÿ

e∈A

wexe + f

3 ÿ

e∈A

r 1

e xe

4

s.t.

ÿ

e∈δ+

i

xe −

ÿ

e∈δ−

i

xe = bi =

Y _ ] _ [

+1 if i = s −1 if i = t

  • therwise

∀i ∈ N

ÿ

e∈A

r k

e xe ≤ Uk

∀k ∈ K xe ∈ {0, 1} ∀e ∈ A.

[G. Tsaggouris and C. Zaroliagis, ESA2004]

Thursday, September 19, 13

slide-33
SLIDE 33

Resource Constrained Shortest Paths (RCSP)

Arc-flow IP formulation with non linear costs f

! · ":

min

ÿ

e∈A

wexe + f

3

z

4

s.t.

ÿ

e∈δ+

i

xe −

ÿ

e∈δ−

i

xe = bi =

Y _ ] _ [

+1 if i = s −1 if i = t

  • therwise

∀i ∈ N

ÿ

e∈A

r k

e xe ≤ Uk

∀k ∈ K

ÿ

e∈A

r 1

e xe = z

xe ∈ {0, 1} ∀e ∈ A.

Thursday, September 19, 13

slide-34
SLIDE 34

Lower Bounding: Lagrangian Relaxation

The arc-flow LP relaxation of RCSP with a super additive cost function f

! · " is:

min

ÿ

e∈A

wexe + f

!z "

(8) s.t.

ÿ

e∈δ+

i

xe −

ÿ

e∈δ−

i

xe = bi ∀i ∈ N (9) multiplier αk ≤ 0 →

ÿ

e∈A

r k

e xe ≤ Uk

∀k ∈ K (10) multiplier β ≤ 0 →

ÿ

e∈A

texe ≤ z (11) xe ≥ 0 ∀e ∈ A. (12)

Thursday, September 19, 13

slide-35
SLIDE 35

Iti is possible to formulate the following Lagrangian dual: Φ(α, β) = − ÿ

k∈K

αkUk+ + min ÿ

e∈A

A we + ÿ

k∈K

αkr k

e + βte

B xe + f ! z " −βz s.t. ÿ

e∈δ+

i

xe − ÿ

e∈δ−

i

xe = bi ∀i ∈ N xe ≥ 0 ∀e ∈ A. This problem decomposes into two subproblems and is solved via a subgradient optimization algorithm:

1 The x variables define a shortest path problem 2 The z variable defines an unconstrained optimization problem

Lower Bounding: Lagrangian Relaxation

Thursday, September 19, 13

slide-36
SLIDE 36

Cost-based Preprocessing via Lagrangian Lower Bounds

  • if LB(c(P∗

s

e

− →t)) ≥ UB then remove arc e

where P∗

s

e

− →t is a shortest path from s to t via arc e.

  • c(P∗

s

e

− →t) ≥ ¯

w(P∗

s

e

− →t) + min{f

!z " − ¯

βz} [with reduced costs ¯ we = we + q

k∈K ¯

αkr k

e + ¯

βte]

Thursday, September 19, 13

slide-37
SLIDE 37

Filter and Dive

Algorithm 1: FilterAndDive(G, LB, UB, F g, Bg, U g)

Input: G = (N, A) directed graph and distance function g(·) Input: (LB, UB) lower and upper bounds on the optimal path Input: F g, Bg forward and backward shortest path tree as function of g(·) Input: U g upper bound on the path length as function of g(·) Output: An optimum path, or updated UB, or a reduced graph

1 foreach i ∈ N do 2

if F g

i + Bg i > U g then

3

N ← N \ {i}

4

else

5

foreach e = (i, j) ∈ A do

6

if F g

i + g(e) + Bg j > U g then

7

A ← A \ {e}

8

else

9

if PathCost(F g

i , e, Bg j ) < UB∧ PathFeasible(F g i , e, Bg j ) then

10

P ∗

st ←MakePath(F g i , e, Bg j );

11

Update UB and store P ∗

st;

12

if LB ≥ UB then

13

return P ∗

st (that is an optimum path)

14

else

15

A ← A \ {e}

FILTER... ...DIVE

check for side constraints

Thursday, September 19, 13

slide-38
SLIDE 38

Near Shortest Path Enumeration

After reaching a fixpoint, if LB < UB then, we apply a near shortest path enumeration algorithm (Carlyle et al., 2008). We compute shortest reversed distances for every resource and for reduced costs Then we perform a depth-first search from s. When a vertex i is visited, the algorithm backtracks if

1 for any resource k, the consumption of Psi plus the reversed

(resource) distance to t exceeds Uk

2 the reduced cost of Psi plus the reversed (reduced cost)

distance to t exceeds UB

3 the cost c(Psi) ≥ UB

Thursday, September 19, 13

slide-39
SLIDE 39
  • 1. Introduction
  • 2. Non Linear Costs
  • 3. Iterated Preprocessing
  • 4. Lower bounding via Lagrangian Relaxation
  • 5. Computational Results

Outline

Thursday, September 19, 13

slide-40
SLIDE 40

Constrained Path Solver: Scalability

Thursday, September 19, 13

slide-41
SLIDE 41

Resource and Cost-based Preprocessing

Non linear costs: extra allowances Each row gives the averages over 16 instances, with 7 resources. ∆ is percentage of removed arcs Gap is UB−Opt

Opt

× 100

Graphs Resource Reduced Cost Exact n m Time ∆ Time ∆ Gap Time 4137 135506 0.77 22.5% 3.12 30.2% 0.0% 75.1 2835 132468 0.59 40.3% 2.35 45.4% 0.0% 30.6 3792 134701 0.92 30.2% 2.87 37.4% 0.0% 69.3

Thursday, September 19, 13

slide-42
SLIDE 42

Crew Scheduling: Real Life Instances

Instance Pieces

  • Glob. Const.

Depots 158TG 684 4 3 171TG 802 6 6 182TG 846 7 7 217TG 967 8 8 233TG 1067 8 8 254TG 1169 10 10 274TG 1240 11 11 300TG 1369 12 12 425TG 1865 32 16 560TG 2314 21 10 Non linear component: step-wise on single resource Side constraints: non linear constraint on break distribution

Thursday, September 19, 13

slide-43
SLIDE 43

Impact on Column Generation-based Heuristic

158TG 171TG 182TG 217TG 233TG 254TG 274TG 300TG 425TG 560TG

  • 0.40%
  • 0.20%

0.00% 0.20% 0.40% 0.60% 0.80% 1.00%

Labeling-heuristic vs. Exact New Algorithm Difference of cost solution obtained via column generation

Thursday, September 19, 13

slide-44
SLIDE 44

158TG 171TG 182TG 217TG 233TG 254TG 274TG 300TG 425TG 560TG 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 80.00% 90.00% 100.00%

Impact on Column Generation-based Heuristic

Labeling-heuristic vs. Exact New Algorithm Difference of run time obtained via column generation

Thursday, September 19, 13