Timetable Combinatorial Optimization
David Adjiashvili, Sandro Bosio, Robert Weismantel, Rico Zenklusen
IFOR, ETH Z¨ urich, Johns Hopkins University
January 7, 2013
Timetable Combinatorial Optimization David Adjiashvili , Sandro - - PowerPoint PPT Presentation
Timetable Combinatorial Optimization David Adjiashvili , Sandro Bosio, Robert Weismantel, Rico Zenklusen IFOR, ETH Z urich, Johns Hopkins University January 7, 2013 Motivation Motivation Temporal Extensions Meaningful way to incorporate
January 7, 2013
Meaningful way to incorporate the dimension of time in Combinatorial Optimization problems.
Meaningful way to incorporate the dimension of time in Combinatorial Optimization problems.
Deal with complex constraints in dynamic setups.
Meaningful way to incorporate the dimension of time in Combinatorial Optimization problems.
Deal with complex constraints in dynamic setups. Existing theories
Meaningful way to incorporate the dimension of time in Combinatorial Optimization problems.
Deal with complex constraints in dynamic setups. Existing theories
◮ Scheduling
Meaningful way to incorporate the dimension of time in Combinatorial Optimization problems.
Deal with complex constraints in dynamic setups. Existing theories
◮ Scheduling ◮ Flow over time
Meaningful way to incorporate the dimension of time in Combinatorial Optimization problems.
Deal with complex constraints in dynamic setups. Existing theories
◮ Scheduling ◮ Flow over time ◮ · · ·
Combinatorial Optimization (CO)
Combinatorial Optimization (CO) Input:
◮ Set system F = (A, X) (with X ⊂ 2A), ◮ Weights wa ∈ Z+ for every a ∈ A.
Combinatorial Optimization (CO) Input:
◮ Set system F = (A, X) (with X ⊂ 2A), ◮ Weights wa ∈ Z+ for every a ∈ A.
Problem: Find S∗ ∈ X maximizing w(S) = P
a∈S wa.
Combinatorial Optimization (CO) Input:
◮ Set system F = (A, X) (with X ⊂ 2A), ◮ Weights wa ∈ Z+ for every a ∈ A.
Problem: Find S∗ ∈ X maximizing w(S) = P
a∈S wa.
Timetable Combinatorial Optimization (TCO)
Combinatorial Optimization (CO) Input:
◮ Set system F = (A, X) (with X ⊂ 2A), ◮ Weights wa ∈ Z+ for every a ∈ A.
Problem: Find S∗ ∈ X maximizing w(S) = P
a∈S wa.
Timetable Combinatorial Optimization (TCO) Input:
◮ A CO instance F = (A, X), w. ◮ Durations τa ∈ Z+ for every a ∈ A. ◮ Total duration T ∈ Z+.
Combinatorial Optimization (CO) Input:
◮ Set system F = (A, X) (with X ⊂ 2A), ◮ Weights wa ∈ Z+ for every a ∈ A.
Problem: Find S∗ ∈ X maximizing w(S) = P
a∈S wa.
Timetable Combinatorial Optimization (TCO) Input:
◮ A CO instance F = (A, X), w. ◮ Durations τa ∈ Z+ for every a ∈ A. ◮ Total duration T ∈ Z+.
Problem: Find S1, · · · , ST ∈ X satisfying the duration property and maximizing w(S1) + · · · + w(ST ).
Timetable Combinatorial Optimization (TCO) Input:
◮ A CO instance F = (A, X), w. ◮ Durations τa ∈ Z+ for every a ∈ A. ◮ Total duration T ∈ Z+.
Problem: Find S1, · · · , ST ∈ X satisfying the duration property and maximizing w(S1) + · · · + w(ST ).
Timetable Combinatorial Optimization (TCO) Input:
◮ A CO instance F = (A, X), w. ◮ Durations τa ∈ Z+ for every a ∈ A. ◮ Total duration T ∈ Z+.
Problem: Find S1, · · · , ST ∈ X satisfying the duration property and maximizing w(S1) + · · · + w(ST ). duration property w.r.t. a ∈ A Ia = {i ∈ [T] : a ∈ Si} is a disjoint union of intervals of length τa.
Timetable Combinatorial Optimization (TCO) Input:
◮ A CO instance F = (A, X), w. ◮ Durations τa ∈ Z+ for every a ∈ A. ◮ Total duration T ∈ Z+.
Problem: Find S1, · · · , ST ∈ X satisfying the duration property and maximizing w(S1) + · · · + w(ST ). duration property w.r.t. a ∈ A Ia = {i ∈ [T] : a ∈ Si} is a disjoint union of intervals of length τa. duration property Duration property w.r.t a is satisfied for all a ∈ A.
◮ A is the edge set of a graph G = (V, A) ◮ X is the set of all matchings of G
◮ A is the edge set of a graph G = (V, A) ◮ X is the set of all matchings of G
2.5 2 3 1 1 2 3.5 3.5 4.5 5 4 4
τe weτe 2 2 3 3 1 1 5 4 9 3 1 2 S1 S2 S3 S4 S5 w(S)=
◮ A is the edge set of a graph G = (V, A) ◮ X is the set of all matchings of G
2.5 2 3 1 1 2 3.5 3.5 4.5 5 4 4
τe weτe 2 2 3 3 1 1 5 4 9 3 1 2 S1 S2 S3 S4 S5 w(S)=8
◮ A is the edge set of a graph G = (V, A) ◮ X is the set of all matchings of G
2.5 2 3 1 1 2 3.5 3.5 4.5 5 4 4
τe weτe 2 2 3 3 1 1 5 4 9 3 1 2 S1 S2 S3 S4 S5 w(S)=13
◮ A is the edge set of a graph G = (V, A) ◮ X is the set of all matchings of G
2.5 2 3 1 1 2 3.5 3.5 4.5 5 4 4
τe weτe 2 2 3 3 1 1 5 4 9 3 1 2 S1 S2 S3 S4 S5 w(S)=17
◮ A is the edge set of a graph G = (V, A) ◮ X is the set of all matchings of G
2.5 2 3 1 1 2 3.5 3.5 4.5 5 4 4
τe weτe 2 2 3 3 1 1 5 4 9 3 1 2 S1 S2 S3 S4 S5 w(S)=13
◮ A is the edge set of a graph G = (V, A) ◮ X is the set of all matchings of G
2.5 2 3 1 1 2 3.5 3.5 4.5 5 4 4
τe weτe 2 2 3 3 1 1 5 4 9 3 1 2 S1 S2 S3 S4 S5 w(S)=17
◮ A is the edge set of a graph G = (V, A) ◮ X is the set of all matchings of G
2.5 2 3 1 1 2 3.5 3.5 4.5 5 4 4
τe weτe 2 2 3 3 1 1 5 4 9 3 1 2 S1 S2 S3 S4 S5 w(S)=21
◮ A is the edge set of a graph G = (V, A) ◮ X is the set of all matchings of G
2.5 2 3 1 1 2 3.5 3.5 4.5 5 4 4
τe weτe 2 2 3 3 1 1 5 4 9 3 1 2 S1 S2 S3 S4 S5 w(S)=21
◮ A is the edge set of a graph G = (V, A) ◮ X is the set of all matchings of G
2.5 2 3 1 1 2 3.5 3.5 4.5 5 4 4
τe weτe 2 2 3 3 1 1 5 4 9 3 1 2 S1 S2 S3 S4 S5 w(S)=22
◮ A is the edge set of a graph G = (V, A) ◮ X is the set of all matchings of G
2.5 2 3 1 1 2 3.5 3.5 4.5 5 4 4
τe weτe 2 2 3 3 1 1 5 4 9 3 1 2 S1 S2 S3 S4 S5 w(S)=23
◮ Let X = {S ⊆ A : |S| 1}, the rank-1 uniform matroid ◮ a ∈ Xt if position t is occupied by an object of type a
◮ Let X = {S ⊆ A : |S| 1}, the rank-1 uniform matroid ◮ a ∈ Xt if position t is occupied by an object of type a
p1 = 2 p2 = 3 p3 = 6 Knapsack (T = 9) Groundset A
◮ Let X = {S ⊆ A : |S| 1}, the rank-1 uniform matroid ◮ a ∈ Xt if position t is occupied by an object of type a
p1 = 2 p2 = 3 p3 = 6 Knapsack (T = 9) Groundset A 6 8 9 10
◮ Let X = {S ⊆ A : |S| 1}, the rank-1 uniform matroid ◮ a ∈ Xt if position t is occupied by an object of type a
p1 = 2 p2 = 3 p3 = 6 Knapsack (T = 9) Groundset A
◮ Let X = {S ⊆ A : |S| 1}, the rank-1 uniform matroid ◮ a ∈ Xt if position t is occupied by an object of type a
p1 = 2 p2 = 3 p3 = 6 Knapsack (T = 9) Groundset A
◮ Let X = {S ⊆ A : |S| 1}, the rank-1 uniform matroid ◮ a ∈ Xt if position t is occupied by an object of type a
p1 = 2 p2 = 3 p3 = 6 Knapsack (T = 9) Groundset A
◮ Let X = {S ⊆ A : |S| 1}, the rank-1 uniform matroid ◮ a ∈ Xt if position t is occupied by an object of type a
p1 = 2 p2 = 3 p3 = 6 Knapsack (T = 9) Groundset A
◮ X = {collections of intervals that do not overlap}.
◮ X = {collections of intervals that do not overlap}.
w3 = 2 w2 = 5 w1 = 3
◮ X = {collections of intervals that do not overlap}.
w3 = 2 w2 = 5 w1 = 3
◮ X = {collections of intervals that do not overlap}.
w3 = 2 w2 = 5 w1 = 3
◮ X = {collections of intervals that do not overlap}.
w3 = 2 w2 = 5 w1 = 3
◮ X = {collections of intervals that do not overlap}.
w3 = 2 w2 = 5 w1 = 3
◮ Timetable Matroid Optimization is NP-hard. ◮ Timetable Matchings is APX-hard. ◮ · · ·
◮ Timetable Matroid Optimization is NP-hard. ◮ Timetable Matchings is APX-hard. ◮ · · ·
Theorem 1 If (A, X) are independence systems and there is β-approximation algorithm for the maximization problem, then there exists a αβ-approximation algorithm for the timetable counterpart, with α ≈ 1.691.
◮ Timetable Matroid Optimization is NP-hard. ◮ Timetable Matchings is APX-hard. ◮ · · ·
Theorem 1 If (A, X) are independence systems and there is β-approximation algorithm for the maximization problem, then there exists a αβ-approximation algorithm for the timetable counterpart, with α ≈ 1.691.
◮ Simple algorithm based on black-box execution of β-approximation.
◮ Timetable Matroid Optimization is NP-hard. ◮ Timetable Matchings is APX-hard. ◮ · · ·
Theorem 1 If (A, X) are independence systems and there is β-approximation algorithm for the maximization problem, then there exists a αβ-approximation algorithm for the timetable counterpart, with α ≈ 1.691.
◮ Simple algorithm based on black-box execution of β-approximation. ◮ Combinatorial argument to bounds approximation guarantee for every T
separately by a LP.
◮ Timetable Matroid Optimization is NP-hard. ◮ Timetable Matchings is APX-hard. ◮ · · ·
Theorem 1 If (A, X) are independence systems and there is β-approximation algorithm for the maximization problem, then there exists a αβ-approximation algorithm for the timetable counterpart, with α ≈ 1.691.
◮ Simple algorithm based on black-box execution of β-approximation. ◮ Combinatorial argument to bounds approximation guarantee for every T
separately by a LP.
◮ Infinite LP bounding all previous LPs.
◮ Timetable Matroid Optimization is NP-hard. ◮ Timetable Matchings is APX-hard. ◮ · · ·
Theorem 1 If (A, X) are independence systems and there is β-approximation algorithm for the maximization problem, then there exists a αβ-approximation algorithm for the timetable counterpart, with α ≈ 1.691.
◮ Simple algorithm based on black-box execution of β-approximation. ◮ Combinatorial argument to bounds approximation guarantee for every T
separately by a LP.
◮ Infinite LP bounding all previous LPs. ◮ Explicit construction of a solution with value α for dual LP.
◮ Timetable Matroid Optimization is NP-hard. ◮ Timetable Matchings is APX-hard. ◮ · · ·
Theorem 1 If (A, X) are independence systems and there is β-approximation algorithm for the maximization problem, then there exists a αβ-approximation algorithm for the timetable counterpart, with α ≈ 1.691.
A.D., Bosio S. and Weismantel R. Timetable combinatorial optimization: a complexity and approximability study. Submitted.
Can one model Binary Knapsack as a TCO?
Can one model Binary Knapsack as a TCO? No..
Can one model Binary Knapsack as a TCO? No..
◮ The input also specifies upper bounds ca ∈ Z+ for every a ∈ A.
Can one model Binary Knapsack as a TCO? No..
◮ The input also specifies upper bounds ca ∈ Z+ for every a ∈ A. ◮ Additional requirement on S = (S1, · · · , ST ): The sets Ia = {i ∈ [T] : a ∈ Si}
satisfy |Ia| caτa.
Can one model Binary Knapsack as a TCO? No..
◮ The input also specifies upper bounds ca ∈ Z+ for every a ∈ A. ◮ Additional requirement on S = (S1, · · · , ST ): The sets Ia = {i ∈ [T] : a ∈ Si}
satisfy |Ia| caτa. Binary Knapsack: repeat TCO reduction for IK and set ca = 1 for all elements.
◮ Binary Timetable Maximum Matroid Basis is strongly NP-hard. ◮ Binary Timetable Maximum Bipartite Matching is APX-hard even when T = 2.
◮ Binary Timetable Maximum Matroid Basis is strongly NP-hard. ◮ Binary Timetable Maximum Bipartite Matching is APX-hard even when T = 2.
Theorem 2 The Binary Timetable Maximum Matroid Basis problem admits a 4-approximation al- gorithm.
◮ Binary Timetable Maximum Matroid Basis is strongly NP-hard. ◮ Binary Timetable Maximum Bipartite Matching is APX-hard even when T = 2.
Theorem 2 The Binary Timetable Maximum Matroid Basis problem admits a 4-approximation al- gorithm. Theorem 3 The Binary Timetable Maximum Spanning Forest problem admits a 3-approximation algorithm.
◮ Binary Timetable Maximum Matroid Basis is strongly NP-hard. ◮ Binary Timetable Maximum Bipartite Matching is APX-hard even when T = 2.
Theorem 2 The Binary Timetable Maximum Matroid Basis problem admits a 4-approximation al- gorithm. Theorem 3 The Binary Timetable Maximum Spanning Forest problem admits a 3-approximation algorithm.
A.D., Bosio S., Weismantel R. and Zenklusen R. Timetable matroid optimization. Technical Report.
Given a graph G = (V, E) and edge weights we, obtain a direction D = (V, E′) of G so as to minimize max
v∈V
X
e∈δ+(v)
we.
Given a graph G = (V, E) and edge weights we, obtain a direction D = (V, E′) of G so as to minimize max
v∈V
X
e∈δ+(v)
we. IP1 min max
v∈V
X
e∈Ev
τexe
v
xe
u + xe v = 1
∀e = (u, v) ∈ E xe
v ∈ {0, 1}
∀e ∈ E, v ∈ e.
Given a graph G = (V, E) and edge weights we, obtain a direction D = (V, E′) of G so as to minimize max
v∈V
X
e∈δ+(v)
we. IP1 min max
v∈V
X
e∈Ev
τexe
v
xe
u + xe v = 1
∀e = (u, v) ∈ E xe
v ∈ {0, 1}
∀e ∈ E, v ∈ e. Ebenlendr, Krˇ c´ al and Sgall (2007):
◮ NP-hard to approximate within 1.5 − ǫ. ◮ Integrality gap of IP1 is 2. ◮ A 1.75-approximation algorithm.
◮ Strict bound of load at every vertex. ◮ Not all edges must be directed. ◮ Maximize weight of directed edges.
◮ Strict bound of load at every vertex. ◮ Not all edges must be directed. ◮ Maximize weight of directed edges.
IP2 max X
e={u,v}∈E
τewe(xe
u + xe v)
(1) xe
u + xe v 1
∀e = {u, v} ∈ E (2) X
e∈Ev
τexe
v T
∀v ∈ V (3) xe
u, xe v ∈ {0, 1}
∀e = {u, v} ∈ E. (4)
◮ Strict bound of load at every vertex. ◮ Not all edges must be directed. ◮ Maximize weight of directed edges.
IP2 max X
e={u,v}∈E
τewe(xe
u + xe v)
(1) xe
u + xe v 1
∀e = {u, v} ∈ E (2) X
e∈Ev
τexe
v T
∀v ∈ V (3) xe
u, xe v ∈ {0, 1}
∀e = {u, v} ∈ E. (4) Phase1: Solve LP2, the LP relaxation of IP2
◮ Strict bound of load at every vertex. ◮ Not all edges must be directed. ◮ Maximize weight of directed edges.
IP2 max X
e={u,v}∈E
τewe(xe
u + xe v)
(1) xe
u + xe v 1
∀e = {u, v} ∈ E (2) X
e∈Ev
τexe
v T
∀v ∈ V (3) xe
u, xe v ∈ {0, 1}
∀e = {u, v} ∈ E. (4) Phase1: Solve LP2, the LP relaxation of IP2 ⇒ ¯ x.
◮ Feasible solutions to IP2 ⇔ Sets of edges packable in a timetable.
◮ Feasible solutions to IP2 ⇔ Sets of edges packable in a timetable. ◮ However,
◮ Feasible solutions to IP2 ⇔ Sets of edges packable in a timetable. ◮ However,
Lemma 1 Any solution to IP2 can be efficiently transformed into a timetable forest, incurring a loss of at most a factor 2.
◮ Feasible solutions to IP2 ⇔ Sets of edges packable in a timetable. ◮ However,
Lemma 1 Any solution to IP2 can be efficiently transformed into a timetable forest, incurring a loss of at most a factor 2. Lemma 2 OPTLP 2 OPT.
◮ Feasible solutions to IP2 ⇔ Sets of edges packable in a timetable. ◮ However,
Lemma 1 Any solution to IP2 can be efficiently transformed into a timetable forest, incurring a loss of at most a factor 2. Lemma 2 OPTLP 2 OPT. Additionally: Lemma 3 ¯ x can be efficiently rounded to a solution ˆ x with the properties
◮ The collection of fractional edges Ef in ˆ
x is a pseudoforest (trees and trees with an additional edge).
◮ Is every component of Ef at most one edge e = (u, v) satisfies ˆ
xe
u + ˆ
xe
v ∈ (0, 1).
◮ Feasible solutions to IP2 ⇔ Sets of edges packable in a timetable. ◮ However,
Lemma 1 Any solution to IP2 can be efficiently transformed into a timetable forest, incurring a loss of at most a factor 2. Lemma 2 OPTLP 2 OPT. Additionally: Lemma 3 ¯ x can be efficiently rounded to a solution ˆ x with the properties
◮ The collection of fractional edges Ef in ˆ
x is a pseudoforest (trees and trees with an additional edge).
◮ Is every component of Ef at most one edge e = (u, v) satisfies ˆ
xe
u + ˆ
xe
v ∈ (0, 1).
Phase2: Perform the rounding and obtain ˆ x.
◮ Partition the support of ˆ
x into the integral part EI and the fractional part Ef.
◮ Partition the support of ˆ
x into the integral part EI and the fractional part Ef.
◮ If Weight(EI) 4
7Weight(ˆ
x) use Lemma 1.
◮ Partition the support of ˆ
x into the integral part EI and the fractional part Ef.
◮ If Weight(EI) 4
7Weight(ˆ
x) use Lemma 1.
◮ Otherwise Weight(Ef) 3
7 Weight(ˆ
x).
◮ Partition the support of ˆ
x into the integral part EI and the fractional part Ef.
◮ If Weight(EI) 4
7Weight(ˆ
x) use Lemma 1.
◮ Otherwise Weight(Ef) 3
7 Weight(ˆ
x).
◮ Pack a 2
3 fraction of Ef into a timetable, by removing at most one edge from
each cycle.
◮ Partition the support of ˆ
x into the integral part EI and the fractional part Ef.
◮ If Weight(EI) 4
7Weight(ˆ
x) use Lemma 1.
◮ Otherwise Weight(Ef) 3
7 Weight(ˆ
x).
◮ Pack a 2
3 fraction of Ef into a timetable, by removing at most one edge from
each cycle. To obtain a factor 3 one needs to work a bit more...
◮ A new way to incorporate a temporal dimension into CO problems.
◮ A new way to incorporate a temporal dimension into CO problems. ◮ Connections to various scheduling and packing problems.
◮ A new way to incorporate a temporal dimension into CO problems. ◮ Connections to various scheduling and packing problems. ◮ Combinatorial and LP-based algorithms.
◮ A new way to incorporate a temporal dimension into CO problems. ◮ Connections to various scheduling and packing problems. ◮ Combinatorial and LP-based algorithms.
◮ Improve approximation algorithms.
◮ A new way to incorporate a temporal dimension into CO problems. ◮ Connections to various scheduling and packing problems. ◮ Combinatorial and LP-based algorithms.
◮ Improve approximation algorithms. ◮ Obtain algorithms for Binary timetable independence systems problems
(Matching... ).
◮ A new way to incorporate a temporal dimension into CO problems. ◮ Connections to various scheduling and packing problems. ◮ Combinatorial and LP-based algorithms.
◮ Improve approximation algorithms. ◮ Obtain algorithms for Binary timetable independence systems problems
(Matching... ).
◮ Understand the complexity of Timetable Matroid problems.
◮ A new way to incorporate a temporal dimension into CO problems. ◮ Connections to various scheduling and packing problems. ◮ Combinatorial and LP-based algorithms.
◮ Improve approximation algorithms. ◮ Obtain algorithms for Binary timetable independence systems problems
(Matching... ).
◮ Understand the complexity of Timetable Matroid problems.