Aircraft routing: complexity and compact linear integer program - - PowerPoint PPT Presentation
Aircraft routing: complexity and compact linear integer program - - PowerPoint PPT Presentation
Aircraft routing: complexity and compact linear integer program Axel Parmentier, Fr ed eric Meunier CERMICS Aussois January 6, 2014 Table of contents Aircraft maintenance routing problem 1 Flight string and aircraft routing
Table of contents
1
Aircraft maintenance routing problem Flight string and aircraft routing Connection graph
2
State graph and linear integer program Linear integer program without maintenance constraint Aircraft routing state graph State graph and linear integer programming
3
Complexity Routing equigraph Equigraphs properties NP-completeness Fixed parameter tractability
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 1 / 18
Aircraft maintenance routing problem Flight string and aircraft routing
Aircraft routing problem
Feasible routing Feasible string
Paris 12:00 00:00 12:00 00:00 12:00 00:00 Day 1 Day 2 Day 3 12:00 00:00 Day 4 NY - Base Flight
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 2 / 18
Aircraft maintenance routing problem Flight string and aircraft routing
Aircraft routing problem
Feasible routing Cover constraint Feasible string
Paris 12:00 00:00 12:00 00:00 12:00 00:00 Day 1 Day 2 Day 3 12:00 00:00 Day 4 NY - Base Feasible string Unfeasible string D = 4
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 2 / 18
Aircraft maintenance routing problem Flight string and aircraft routing
Aircraft routing problem
Feasible routing Cover constraint Initial and final conditions Feasible string Maintenance constraint
Paris 12:00 00:00 12:00 00:00 12:00 00:00 Day 1 Day 2 12:00 00:00 Day 4 NY - Base Day 3 String 1 String 2 String 3 D = 4
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 2 / 18
Aircraft maintenance routing problem Flight string and aircraft routing
Aircraft routing problem
Feasible routing Cover constraint Initial and final conditions Feasible string Maintenance constraint
Paris 12:00 00:00 12:00 00:00 12:00 00:00 Day 1 Day 2 12:00 00:00 Day 4 NY - Base Day 3 String 1 String 2 String 3 D = 4
Mathematical formalism: connection graph.
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 2 / 18
Aircraft maintenance routing problem Connection graph
Connection graph
Connection graph G = (V , A): Flight = vertex v Feasible connection = arc a Maintenance: Night = Directed cut δ−(U) A routing in the connection graph is a partition of the vertices
- f V in ST-paths
g h i a b c d u v w x
Flight Connection not in partition
a b c d u v w x g h i A B C Airports
Connection in partition
Schedule Connection graph
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 3 / 18
Aircraft maintenance routing problem Connection graph
Aircraft routing problem
Instance: A connection graph ((S, I, T), A) Night sets Nd and maintenance night sets Md ⊆ Nd Maintenance constraint D Initial and final constraints So
s , T o t
Question: Does a feasible routing exist?
Linear integer program
|Feas. Connections|D variables |Flights|(D + 1) constraints
Complexity results
NP-complete Polynomial when the number of airplanes is given.
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 4 / 18
State graph and linear integer program Linear integer program without maintenance constraint
Vertex path partition linear integer program
g h i a b c d u v w x
Flight Connection not in partition Connection in partition
Lemma
A vertex path partition P is entirely determined by connection arcs a ∈ P ∈ P xa = 1 if connection a is in the partition
- a∈δ−(v)
xa =
- a∈δ+(v)
xa ∀v ∈ I
- a∈δ−(v)
xa ≥ 1 ∀v ∈ I ∪ T
- a∈δ+(v)
xa = 1 ∀v ∈ S xa ∈ {0, 1} ∀a ∈ A How can we add constraint in the linear integer program? State graph.
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 5 / 18
State graph and linear integer program Aircraft routing state graph
State graph for aircraft routing
Base Non-Base a b b d e f g h i j k Network arc Network vertex State arc State vertex a b c d e f g h i j k
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 6 / 18
State graph and linear integer program Aircraft routing state graph
State graph for aircraft routing
Base Non-Base a b b d e f g h i j k Network arc Network vertex State arc State vertex a b c d e f g h i j k
D state vertices for each vertex in the connection graph: State vertex = number of day since the last night check. State arc = day / (maintenance) night
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 6 / 18
State graph and linear integer program Aircraft routing state graph
State graph for aircraft routing
Base Non-Base a b b d e f g h i j k Network arc Network vertex State arc State vertex a b c d e f g h i j k
D state vertices for each vertex in the connection graph: State vertex = number of day since the last night check. State arc = day / (maintenance) night
Lemma
A state path induces a feasible path in the connection graph. A partition
- f the connection graph in state graph paths is a feasible routing.
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 6 / 18
State graph and linear integer program State graph and linear integer programming
Aircraft routing linear integer program
xα = 1 if state arc α is in the state path partition.
Theorem (P. & Meunier):
Same linear relaxation as the “classical” column generation approach.
- α∈δ−(ϑ)
xα =
- α∈δ+(ϑ)
xα ∀ϑ ∈ V
- α ∈ δ−(ϑ)
ϑ ∈ Vv
xα ≥ 1 ∀v ∈ I ∪ T
- α ∈ δ−(ϑ)
xα = 1 ∀ϑ ∈ S xα ∈ {0, 1} ∀α ∈ A Optimize passenger connections (cα = ca) min
- α∈A
cαxα
State arc State vertex a b c d g h i j k Network vertex
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 7 / 18
Complexity
Complexity
Theorem (P. & Meunier)
Aircraft routing feasibility problem is NP-complete.
Theorem (P. & Meunier)
Aircraft routing feasibility problem can be solved in O(nDk) where n is the number of flights and k is the number of airplanes. In the connection graph, each airplane is identified: needed for
- ptimization but not for feasibility.
Introduce the routing equigraph (smaller graph for feasibility only). Definition and properties of equigraph: guaranty feasibility without identifying aircraft.
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 8 / 18
Complexity Routing equigraph
Equigraph definition
An acyclic directed graph is an equigraph if its vertices can be partitioned in three sets: Sources v ∈ S satisfying δ−(v) = ∅ and δ+(v) = ∅. Internal vertices v ∈ I satisfying δ−(v) = δ+(v) > 0. Sinks v ∈ S satisfying δ−(v) = ∅ and δ+(v) = ∅
Sources Sinks Internal vertices
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 9 / 18
Complexity Routing equigraph
Routing equigraph
Routing equigraph G = (V , A): Flight = arc a (airport,time) = vertex v Maintenance: Night = Directed cut δ−(U) A routing in the routing equigraph is a partition
- f the arcs of A in
ST-paths
S1
A = 0
Source Internal Vertex Sink Arc Non-maintenance night arc Mainteance night arc S2
A = 1
S1
B = 0
S2
B = 0
S1
C = 3
S2
C = 0
T 1
A = 0
T 2
A = 1
T 1
A = 0
T 2
A = 0
T 1
A = 3
T 2
A = 0
S1
s1 = 0
S2
s1 = 1
S1
s2 = 3
S2
s2 = 0
T 1
t1 = 0
T 2
t1 = 1
T 1
t2 = 0
T 2
t2 = 3
Schedule Routing equigraph
A digraph is an equigraph if δ−(v) = δ+(v) for all internal vertices (a vertex v is either a source, a sink or an internal vertex).
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 10 / 18
Complexity Routing equigraph
State graph on the routing equigraph
- α ∈ δ−(ϑ)
ϑ ∈ Vv
xα = 1, ∀v ∈ V becomes
- α∈Aa
xα = 1, ∀a ∈ A State path partition gives an equigraph in the state graph. How to obtain a path partition of the arcs of an equigraph? Searching a feasible equigraph instead
- f a path partition: faster
deterministic algorithm.
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 11 / 18
Complexity Equigraphs properties
Equigraph partition problem and greedy algorithm
Instance: An equigraph ((S, I, T), A) Solution: A partition of the arcs of G in S − T paths.
Greedy algorithm lemma
If P is a path from S to T, then G\P is still an equigraph
Step 1 Step 2 Step 3 Cover
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 12 / 18
Complexity Fixed parameter tractability
Fixed parameter tractability
Theorem (P. & Meunier)
Aircraft routing is fixed parameter tractable in Dk. It can be solved in O(nDk).
The following algorithm is inspired from Fortune, Hopcroft, and Wyllie, the directed subgraph homeomorphism problem, 1980. Build a state graph
- n the routing
equigraph Order the vertices of the equigraph in a topological ordering
Base Non-Base 1 4 3 6 7 9 11 2 5 8 10 Network arc Network vertex State arc State vertex 1 3 4 6 7 9 11 2 5 8 10
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 13 / 18
Complexity Fixed parameter tractability
Pebbling game
Game goal:
Move k identical pebbles from the source configuration to the sink configurations set using legal moves. Vertices are enumerated using a topological ordering. For each vertex u, one legal move is done:
1 Pebble initially on ϑ1 can be moved to ϑ2 if
(ϑ1, ϑ2) is in G
2 Exactly one state arc α ∈ Aa is traversed by a
pebble for each a ∈ δ−(v).
Lemma
Pebbling game ⇔ State graph can be can be won partitioned in paths
Initial position Final position Unmoved pebble Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 14 / 18
Complexity Fixed parameter tractability
Pebble configurations
Topological ordering: a set of induced subgraphs Gi = (Vi, Ai) where Vi = {vj|j ≥ i}
v1 v2 v3 v4 v5 v7 v9 v10 v11 v6 v8 W5 W6 before playing v6 after playing v6 Pebble positions
Number of pebbles on v Before playing vi: |δ−
G (v)| − |δ− Gi(v)|
After playing vi: |δ−
G (v)| − |δ− Gi+1(v)|
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 15 / 18
Complexity Fixed parameter tractability
Algorithm complexity
The configuration graph GC is defined as follows: Vertices VC: Pebble configurations Arcs AC: Legal moves. |AC| ≤ |V | · Dk A path from the source configuration to the sink configurations set gives a solution to the pebbling game
Theorem (P. & Meunier)
Aircraft routing problem is polynomial when k is fixed. Pebbling game algorithm gives a solution in O(nDk)
Proof.
A path finding algorithm is linear in the number of arcs in an acyclic directed graph.
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 16 / 18
Complexity Fixed parameter tractability
NP-completeness
Theorem (P. & Meunier)
Aircraft routing is NP-complete
Proof.
Reduction from the two commodity arc disjoint paths on acyclic directed graph.
S1 S2 s1 s2 t1 t2 T1 T2 Initial and terminal arcs Balance arcs to obtain an equigraph Arcs of initial graph H Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 17 / 18
Complexity Fixed parameter tractability
Questions?
Axel Parmentier (CERMICS) Aircraft routing Aussois – January 6, 2014 18 / 18