Disjoint congruence classes and an optimization problem - CiteSeerX

0 downloads 0 Views 510KB Size Report
The question is: which combinations of lines and frequencies are feasible (no collision)?. 3 / 18 .... s ( mod q)}. So C0 q ,...,C q−1 q are the congruence classes modulo q in Z60. We call Cs q a q-class. 4 / 18 .... C7. 15 = {7,22,37,52} so they intersect in 22 and 52. 6 / 18 .... common divisors of the periods pi that matter. 8 / 18 ...
Disjoint congruence classes and an optimization problem

Disjoint congruence classes and an optimization problem Geir Dahl (University of Oslo)

Third Nordic Opt. Symp., Stockholm, March 2009

1 / 18

Disjoint congruence classes and an optimization problem

Outline

Motivation The problem Some theorems Optimization

Reference: G. Dahl, “Disjoint congruence classes and a timetabling application”, to appear in Discrete Applied Mathematics.

2 / 18

Disjoint congruence classes and an optimization problem

Outline

Motivation The problem Some theorems Optimization

Reference: G. Dahl, “Disjoint congruence classes and a timetabling application”, to appear in Discrete Applied Mathematics.

2 / 18

Disjoint congruence classes and an optimization problem

Outline

Motivation The problem Some theorems Optimization

Reference: G. Dahl, “Disjoint congruence classes and a timetabling application”, to appear in Discrete Applied Mathematics.

2 / 18

Disjoint congruence classes and an optimization problem

Outline

Motivation The problem Some theorems Optimization

Reference: G. Dahl, “Disjoint congruence classes and a timetabling application”, to appear in Discrete Applied Mathematics.

2 / 18

Disjoint congruence classes and an optimization problem

Outline

Motivation The problem Some theorems Optimization

Reference: G. Dahl, “Disjoint congruence classes and a timetabling application”, to appear in Discrete Applied Mathematics.

2 / 18

Disjoint congruence classes and an optimization problem Motivation and the problem

Motivation: a problem in the transportation area subway network: simple, treelike bottleneck (tunnel, as in Oslo): capacity constraint different lines, different frequencies no arrivals at the same time (minute) periodic schedules consider e.g. westbound lines Increased traffic: want more lines and/or modified schedules how can this be done? The question is: which combinations of lines and frequencies are feasible (no collision)? 3 / 18

Disjoint congruence classes and an optimization problem Motivation and the problem

Motivation: a problem in the transportation area subway network: simple, treelike bottleneck (tunnel, as in Oslo): capacity constraint different lines, different frequencies no arrivals at the same time (minute) periodic schedules consider e.g. westbound lines Increased traffic: want more lines and/or modified schedules how can this be done? The question is: which combinations of lines and frequencies are feasible (no collision)? 3 / 18

Disjoint congruence classes and an optimization problem Motivation and the problem

Motivation: a problem in the transportation area subway network: simple, treelike bottleneck (tunnel, as in Oslo): capacity constraint different lines, different frequencies no arrivals at the same time (minute) periodic schedules consider e.g. westbound lines Increased traffic: want more lines and/or modified schedules how can this be done? The question is: which combinations of lines and frequencies are feasible (no collision)? 3 / 18

Disjoint congruence classes and an optimization problem Motivation and the problem

Motivation: a problem in the transportation area subway network: simple, treelike bottleneck (tunnel, as in Oslo): capacity constraint different lines, different frequencies no arrivals at the same time (minute) periodic schedules consider e.g. westbound lines Increased traffic: want more lines and/or modified schedules how can this be done? The question is: which combinations of lines and frequencies are feasible (no collision)? 3 / 18

Disjoint congruence classes and an optimization problem Motivation and the problem

Motivation: a problem in the transportation area subway network: simple, treelike bottleneck (tunnel, as in Oslo): capacity constraint different lines, different frequencies no arrivals at the same time (minute) periodic schedules consider e.g. westbound lines Increased traffic: want more lines and/or modified schedules how can this be done? The question is: which combinations of lines and frequencies are feasible (no collision)? 3 / 18

Disjoint congruence classes and an optimization problem Motivation and the problem

Motivation: a problem in the transportation area subway network: simple, treelike bottleneck (tunnel, as in Oslo): capacity constraint different lines, different frequencies no arrivals at the same time (minute) periodic schedules consider e.g. westbound lines Increased traffic: want more lines and/or modified schedules how can this be done? The question is: which combinations of lines and frequencies are feasible (no collision)? 3 / 18

Disjoint congruence classes and an optimization problem Motivation and the problem

Motivation: a problem in the transportation area subway network: simple, treelike bottleneck (tunnel, as in Oslo): capacity constraint different lines, different frequencies no arrivals at the same time (minute) periodic schedules consider e.g. westbound lines Increased traffic: want more lines and/or modified schedules how can this be done? The question is: which combinations of lines and frequencies are feasible (no collision)? 3 / 18

Disjoint congruence classes and an optimization problem Motivation and the problem

Motivation: a problem in the transportation area subway network: simple, treelike bottleneck (tunnel, as in Oslo): capacity constraint different lines, different frequencies no arrivals at the same time (minute) periodic schedules consider e.g. westbound lines Increased traffic: want more lines and/or modified schedules how can this be done? The question is: which combinations of lines and frequencies are feasible (no collision)? 3 / 18

Disjoint congruence classes and an optimization problem Motivation and the problem

Motivation: a problem in the transportation area subway network: simple, treelike bottleneck (tunnel, as in Oslo): capacity constraint different lines, different frequencies no arrivals at the same time (minute) periodic schedules consider e.g. westbound lines Increased traffic: want more lines and/or modified schedules how can this be done? The question is: which combinations of lines and frequencies are feasible (no collision)? 3 / 18

Disjoint congruence classes and an optimization problem Motivation and the problem

Motivation: a problem in the transportation area subway network: simple, treelike bottleneck (tunnel, as in Oslo): capacity constraint different lines, different frequencies no arrivals at the same time (minute) periodic schedules consider e.g. westbound lines Increased traffic: want more lines and/or modified schedules how can this be done? The question is: which combinations of lines and frequencies are feasible (no collision)? 3 / 18

Disjoint congruence classes and an optimization problem Mathematical model

Mathematical model Enough: consider arrival times at the Central Station, e.g. a line with period 15 could have arrival times 14.01 − 14.16 − 14.31 − 14.46 etc. Periodic schedules (repeat every hour): possible periods P = {1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60}. Given n lines: period-vector p = (p1 , p2 , . . . , pn ) ∈ P n . Shorter notation: p = (10(3) , 15(1) , 20(2) ). Let 0 ≤ s < q be two integers and define Cqs = {x ∈ Z60 : x ≡ s ( mod q)}. So Cq0 , . . . , Cqq−1 are the congruence classes modulo q in Z60 . We call Cqs a q-class. 4 / 18

Disjoint congruence classes and an optimization problem Mathematical model

Mathematical model Enough: consider arrival times at the Central Station, e.g. a line with period 15 could have arrival times 14.01 − 14.16 − 14.31 − 14.46 etc. Periodic schedules (repeat every hour): possible periods P = {1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60}. Given n lines: period-vector p = (p1 , p2 , . . . , pn ) ∈ P n . Shorter notation: p = (10(3) , 15(1) , 20(2) ). Let 0 ≤ s < q be two integers and define Cqs = {x ∈ Z60 : x ≡ s ( mod q)}. So Cq0 , . . . , Cqq−1 are the congruence classes modulo q in Z60 . We call Cqs a q-class. 4 / 18

Disjoint congruence classes and an optimization problem Mathematical model

Mathematical model Enough: consider arrival times at the Central Station, e.g. a line with period 15 could have arrival times 14.01 − 14.16 − 14.31 − 14.46 etc. Periodic schedules (repeat every hour): possible periods P = {1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60}. Given n lines: period-vector p = (p1 , p2 , . . . , pn ) ∈ P n . Shorter notation: p = (10(3) , 15(1) , 20(2) ). Let 0 ≤ s < q be two integers and define Cqs = {x ∈ Z60 : x ≡ s ( mod q)}. So Cq0 , . . . , Cqq−1 are the congruence classes modulo q in Z60 . We call Cqs a q-class. 4 / 18

Disjoint congruence classes and an optimization problem Mathematical model

Mathematical model Enough: consider arrival times at the Central Station, e.g. a line with period 15 could have arrival times 14.01 − 14.16 − 14.31 − 14.46 etc. Periodic schedules (repeat every hour): possible periods P = {1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60}. Given n lines: period-vector p = (p1 , p2 , . . . , pn ) ∈ P n . Shorter notation: p = (10(3) , 15(1) , 20(2) ). Let 0 ≤ s < q be two integers and define Cqs = {x ∈ Z60 : x ≡ s ( mod q)}. So Cq0 , . . . , Cqq−1 are the congruence classes modulo q in Z60 . We call Cqs a q-class. 4 / 18

Disjoint congruence classes and an optimization problem Mathematical model

Mathematical model Enough: consider arrival times at the Central Station, e.g. a line with period 15 could have arrival times 14.01 − 14.16 − 14.31 − 14.46 etc. Periodic schedules (repeat every hour): possible periods P = {1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60}. Given n lines: period-vector p = (p1 , p2 , . . . , pn ) ∈ P n . Shorter notation: p = (10(3) , 15(1) , 20(2) ). Let 0 ≤ s < q be two integers and define Cqs = {x ∈ Z60 : x ≡ s ( mod q)}. So Cq0 , . . . , Cqq−1 are the congruence classes modulo q in Z60 . We call Cqs a q-class. 4 / 18

Disjoint congruence classes and an optimization problem Mathematical model

A period-vector p ∈ P n is admissible if there are pairwise disjoint pi -classes (i ≤ n), i.e., there are integers 0 ≤ si < pi (i ≤ n) such that the classes Cps11 , . . . , Cpsnn are pairwise disjoint. Such a family of pi -classes will be called a schedule. The line scheduling problem: (LS) for given p ∈ P n decide if p is admissible and, if so, find a corresponding schedule. may avoid pi equal to 1 or 60.

5 / 18

Disjoint congruence classes and an optimization problem Mathematical model

A period-vector p ∈ P n is admissible if there are pairwise disjoint pi -classes (i ≤ n), i.e., there are integers 0 ≤ si < pi (i ≤ n) such that the classes Cps11 , . . . , Cpsnn are pairwise disjoint. Such a family of pi -classes will be called a schedule. The line scheduling problem: (LS) for given p ∈ P n decide if p is admissible and, if so, find a corresponding schedule. may avoid pi equal to 1 or 60.

5 / 18

Disjoint congruence classes and an optimization problem Mathematical model

A period-vector p ∈ P n is admissible if there are pairwise disjoint pi -classes (i ≤ n), i.e., there are integers 0 ≤ si < pi (i ≤ n) such that the classes Cps11 , . . . , Cpsnn are pairwise disjoint. Such a family of pi -classes will be called a schedule. The line scheduling problem: (LS) for given p ∈ P n decide if p is admissible and, if so, find a corresponding schedule. may avoid pi equal to 1 or 60.

5 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Intersection of classes The next lemma is used to prove some of the results: it characterizes when two classes intersect. Lemma Consider integers 0 ≤ s < p and 0 ≤ t < q. Then the classes Cps and Cqt intersect if and only if s ≡ t ( mod d) where d = gcd(p, q).

2 and C 7 intersect as Example. C10 15

gcd(10, 15) = 5 and 2 ≡ 7 ( mod 5) 2 = {2, 12, 22, 32, 42, 52} and Indeed, we have C10 7 = {7, 22, 37, 52} so they intersect in 22 and 52. C15 6 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Intersection of classes The next lemma is used to prove some of the results: it characterizes when two classes intersect. Lemma Consider integers 0 ≤ s < p and 0 ≤ t < q. Then the classes Cps and Cqt intersect if and only if s ≡ t ( mod d) where d = gcd(p, q).

2 and C 7 intersect as Example. C10 15

gcd(10, 15) = 5 and 2 ≡ 7 ( mod 5) 2 = {2, 12, 22, 32, 42, 52} and Indeed, we have C10 7 = {7, 22, 37, 52} so they intersect in 22 and 52. C15 6 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Intersection of classes The next lemma is used to prove some of the results: it characterizes when two classes intersect. Lemma Consider integers 0 ≤ s < p and 0 ≤ t < q. Then the classes Cps and Cqt intersect if and only if s ≡ t ( mod d) where d = gcd(p, q).

2 and C 7 intersect as Example. C10 15

gcd(10, 15) = 5 and 2 ≡ 7 ( mod 5) 2 = {2, 12, 22, 32, 42, 52} and Indeed, we have C10 7 = {7, 22, 37, 52} so they intersect in 22 and 52. C15 6 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Intersection of classes The next lemma is used to prove some of the results: it characterizes when two classes intersect. Lemma Consider integers 0 ≤ s < p and 0 ≤ t < q. Then the classes Cps and Cqt intersect if and only if s ≡ t ( mod d) where d = gcd(p, q).

2 and C 7 intersect as Example. C10 15

gcd(10, 15) = 5 and 2 ≡ 7 ( mod 5) 2 = {2, 12, 22, 32, 42, 52} and Indeed, we have C10 7 = {7, 22, 37, 52} so they intersect in 22 and 52. C15 6 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Corollary If p ∈ P n is admissible, then gcd(pi , pj ) > 1 for all i, j ≤ n (i 6= j).

Example. This shows that all the following period-vectors are inadmissible: (i) (3, 4), (ii) (5, 12), (iii) (2, 15), and (iii) (3, 20).

2 3

30

4

20

5

15

6

12 10

7 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Corollary If p ∈ P n is admissible, then gcd(pi , pj ) > 1 for all i, j ≤ n (i 6= j).

Example. This shows that all the following period-vectors are inadmissible: (i) (3, 4), (ii) (5, 12), (iii) (2, 15), and (iii) (3, 20).

2 3

30

4

20

5

15

6

12 10

7 / 18

Disjoint congruence classes and an optimization problem Theorems, results

A generalization Corollary Let p ∈ P n be admissible. Then, for each positive integer d, the vector p contains at most d components such that gcd(pi , pj ) = d for each pair i, j among these components. Example. So all of the following vectors are inadmissible: p = (2, 10, 12) (using d = 2), p = (5(4) , 10(1) , 15(1) ) (using d = 5) and p = (q (q+1) ) for some q (using d = q). Note: p may be inadmissible even if freq(p) (sum of frequencies) is much smaller that 60. For instance, p = (2, 10, 12) is inadmissible, but freq(p) = 41. So it is (somehow) the internal structure of the greatest common divisors of the periods pi that matter. 8 / 18

Disjoint congruence classes and an optimization problem Theorems, results

A generalization Corollary Let p ∈ P n be admissible. Then, for each positive integer d, the vector p contains at most d components such that gcd(pi , pj ) = d for each pair i, j among these components. Example. So all of the following vectors are inadmissible: p = (2, 10, 12) (using d = 2), p = (5(4) , 10(1) , 15(1) ) (using d = 5) and p = (q (q+1) ) for some q (using d = q). Note: p may be inadmissible even if freq(p) (sum of frequencies) is much smaller that 60. For instance, p = (2, 10, 12) is inadmissible, but freq(p) = 41. So it is (somehow) the internal structure of the greatest common divisors of the periods pi that matter. 8 / 18

Disjoint congruence classes and an optimization problem Theorems, results

A generalization Corollary Let p ∈ P n be admissible. Then, for each positive integer d, the vector p contains at most d components such that gcd(pi , pj ) = d for each pair i, j among these components. Example. So all of the following vectors are inadmissible: p = (2, 10, 12) (using d = 2), p = (5(4) , 10(1) , 15(1) ) (using d = 5) and p = (q (q+1) ) for some q (using d = q). Note: p may be inadmissible even if freq(p) (sum of frequencies) is much smaller that 60. For instance, p = (2, 10, 12) is inadmissible, but freq(p) = 41. So it is (somehow) the internal structure of the greatest common divisors of the periods pi that matter. 8 / 18

Disjoint congruence classes and an optimization problem Theorems, results

A generalization Corollary Let p ∈ P n be admissible. Then, for each positive integer d, the vector p contains at most d components such that gcd(pi , pj ) = d for each pair i, j among these components. Example. So all of the following vectors are inadmissible: p = (2, 10, 12) (using d = 2), p = (5(4) , 10(1) , 15(1) ) (using d = 5) and p = (q (q+1) ) for some q (using d = q). Note: p may be inadmissible even if freq(p) (sum of frequencies) is much smaller that 60. For instance, p = (2, 10, 12) is inadmissible, but freq(p) = 41. So it is (somehow) the internal structure of the greatest common divisors of the periods pi that matter. 8 / 18

Disjoint congruence classes and an optimization problem Theorems, results

A generalization Corollary Let p ∈ P n be admissible. Then, for each positive integer d, the vector p contains at most d components such that gcd(pi , pj ) = d for each pair i, j among these components. Example. So all of the following vectors are inadmissible: p = (2, 10, 12) (using d = 2), p = (5(4) , 10(1) , 15(1) ) (using d = 5) and p = (q (q+1) ) for some q (using d = q). Note: p may be inadmissible even if freq(p) (sum of frequencies) is much smaller that 60. For instance, p = (2, 10, 12) is inadmissible, but freq(p) = 41. So it is (somehow) the internal structure of the greatest common divisors of the periods pi that matter. 8 / 18

Disjoint congruence classes and an optimization problem Theorems, results

A generalization Corollary Let p ∈ P n be admissible. Then, for each positive integer d, the vector p contains at most d components such that gcd(pi , pj ) = d for each pair i, j among these components. Example. So all of the following vectors are inadmissible: p = (2, 10, 12) (using d = 2), p = (5(4) , 10(1) , 15(1) ) (using d = 5) and p = (q (q+1) ) for some q (using d = q). Note: p may be inadmissible even if freq(p) (sum of frequencies) is much smaller that 60. For instance, p = (2, 10, 12) is inadmissible, but freq(p) = 41. So it is (somehow) the internal structure of the greatest common divisors of the periods pi that matter. 8 / 18

Disjoint congruence classes and an optimization problem Theorems, results

A main characterization Theorem (n )

(n )

(n )

Let p ∈ P n be a period-vector p = (p1 1 , p2 2 , . . . , pk k ). Assume that pi = dqi (i ≤ k) for some integer d and that each pair of numbers among q1 , q2 , . . . , qk are relative prime. Then p is admissible if and only if k X

dni /qi e ≤ d.

(1)

i=1

The set N (p1 , p2 , . . . , pk ) consists of all vectors (m1 q1 , m2 q2 , P . . . , mk qk ) where m1 , m2 , . . . , mk are nonnegative integers with ki=1 mi = d. Moreover, if (1) holds, a schedule for p is obtained by assigning lines with period pi to dni /qi e congruence classes modulo d (each can take qi lines) for i = 1, 2, . . . , k. 9 / 18

Disjoint congruence classes and an optimization problem Theorems, results

A main characterization Theorem (n )

(n )

(n )

Let p ∈ P n be a period-vector p = (p1 1 , p2 2 , . . . , pk k ). Assume that pi = dqi (i ≤ k) for some integer d and that each pair of numbers among q1 , q2 , . . . , qk are relative prime. Then p is admissible if and only if k X

dni /qi e ≤ d.

(1)

i=1

The set N (p1 , p2 , . . . , pk ) consists of all vectors (m1 q1 , m2 q2 , P . . . , mk qk ) where m1 , m2 , . . . , mk are nonnegative integers with ki=1 mi = d. Moreover, if (1) holds, a schedule for p is obtained by assigning lines with period pi to dni /qi e congruence classes modulo d (each can take qi lines) for i = 1, 2, . . . , k. 9 / 18

Disjoint congruence classes and an optimization problem Theorems, results

A main characterization Theorem (n )

(n )

(n )

Let p ∈ P n be a period-vector p = (p1 1 , p2 2 , . . . , pk k ). Assume that pi = dqi (i ≤ k) for some integer d and that each pair of numbers among q1 , q2 , . . . , qk are relative prime. Then p is admissible if and only if k X

dni /qi e ≤ d.

(1)

i=1

The set N (p1 , p2 , . . . , pk ) consists of all vectors (m1 q1 , m2 q2 , P . . . , mk qk ) where m1 , m2 , . . . , mk are nonnegative integers with ki=1 mi = d. Moreover, if (1) holds, a schedule for p is obtained by assigning lines with period pi to dni /qi e congruence classes modulo d (each can take qi lines) for i = 1, 2, . . . , k. 9 / 18

Disjoint congruence classes and an optimization problem Theorems, results

A main characterization Theorem (n )

(n )

(n )

Let p ∈ P n be a period-vector p = (p1 1 , p2 2 , . . . , pk k ). Assume that pi = dqi (i ≤ k) for some integer d and that each pair of numbers among q1 , q2 , . . . , qk are relative prime. Then p is admissible if and only if k X

dni /qi e ≤ d.

(1)

i=1

The set N (p1 , p2 , . . . , pk ) consists of all vectors (m1 q1 , m2 q2 , P . . . , mk qk ) where m1 , m2 , . . . , mk are nonnegative integers with ki=1 mi = d. Moreover, if (1) holds, a schedule for p is obtained by assigning lines with period pi to dni /qi e congruence classes modulo d (each can take qi lines) for i = 1, 2, . . . , k. 9 / 18

Disjoint congruence classes and an optimization problem Theorems, results

A main characterization Theorem (n )

(n )

(n )

Let p ∈ P n be a period-vector p = (p1 1 , p2 2 , . . . , pk k ). Assume that pi = dqi (i ≤ k) for some integer d and that each pair of numbers among q1 , q2 , . . . , qk are relative prime. Then p is admissible if and only if k X

dni /qi e ≤ d.

(1)

i=1

The set N (p1 , p2 , . . . , pk ) consists of all vectors (m1 q1 , m2 q2 , P . . . , mk qk ) where m1 , m2 , . . . , mk are nonnegative integers with ki=1 mi = d. Moreover, if (1) holds, a schedule for p is obtained by assigning lines with period pi to dni /qi e congruence classes modulo d (each can take qi lines) for i = 1, 2, . . . , k. 9 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Comments

1

The theorem also holds when pi ’s don’t divide 60.

2

The number d in the theorem is the greatest common divisor of the components of p. The assumption on p says that gcd(pi , pj ) = d for all i 6= j.

3

Good: the period-vectors give time schedules with simple structure.

4

Consider a maximal period-vector p corresponding to N (p1 , p2 , . . . , pk ): then freq(p) = 60, so p is complete.

10 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Comments

1

The theorem also holds when pi ’s don’t divide 60.

2

The number d in the theorem is the greatest common divisor of the components of p. The assumption on p says that gcd(pi , pj ) = d for all i 6= j.

3

Good: the period-vectors give time schedules with simple structure.

4

Consider a maximal period-vector p corresponding to N (p1 , p2 , . . . , pk ): then freq(p) = 60, so p is complete.

10 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Comments

1

The theorem also holds when pi ’s don’t divide 60.

2

The number d in the theorem is the greatest common divisor of the components of p. The assumption on p says that gcd(pi , pj ) = d for all i 6= j.

3

Good: the period-vectors give time schedules with simple structure.

4

Consider a maximal period-vector p corresponding to N (p1 , p2 , . . . , pk ): then freq(p) = 60, so p is complete.

10 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Examples Let p = (2(n1 ) , 4(n2 ) , 6(n3 ) , 10(n4 ) ). So p has the desired form with d = 2, q1 = 1, q2 = 2, q3 = 3 and q4 = 5. Thus, p is admissible if and only if n1 + dn2 /2e + dn3 /3e + dn4 /5e ≤ 2.

p = (2(0) , 4(2) , 6(0) , 10(5) ) and p = (2(0) , 4(0) , 6(3) , 10(5) ) are admissible p = (2(0) , 4(1) , 6(1) , 10(1) ) is inadmissible (and here freq(p) = 15 + 10 + 6 = 31). 11 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Examples Let p = (2(n1 ) , 4(n2 ) , 6(n3 ) , 10(n4 ) ). So p has the desired form with d = 2, q1 = 1, q2 = 2, q3 = 3 and q4 = 5. Thus, p is admissible if and only if n1 + dn2 /2e + dn3 /3e + dn4 /5e ≤ 2.

p = (2(0) , 4(2) , 6(0) , 10(5) ) and p = (2(0) , 4(0) , 6(3) , 10(5) ) are admissible p = (2(0) , 4(1) , 6(1) , 10(1) ) is inadmissible (and here freq(p) = 15 + 10 + 6 = 31). 11 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Examples Let p = (2(n1 ) , 4(n2 ) , 6(n3 ) , 10(n4 ) ). So p has the desired form with d = 2, q1 = 1, q2 = 2, q3 = 3 and q4 = 5. Thus, p is admissible if and only if n1 + dn2 /2e + dn3 /3e + dn4 /5e ≤ 2.

p = (2(0) , 4(2) , 6(0) , 10(5) ) and p = (2(0) , 4(0) , 6(3) , 10(5) ) are admissible p = (2(0) , 4(1) , 6(1) , 10(1) ) is inadmissible (and here freq(p) = 15 + 10 + 6 = 31). 11 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Another example

Let p = (5(n1 ) , 10(n2 ) , 15(n3 ) ). This vector has the desired form with d = 5, q1 = 1, q2 = 2 and q3 = 3, and these qi ’s are pairwise relatively prime. By the theorem p is admissible if and only if n1 + dn2 /2e + dn3 /3e ≤ 5. So: p = (5(1) , 10(4) , 15(6) ) is admissible But p = (5(1) , 10(3) , 15(7) ) is inadmissible.

12 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Another example

Let p = (5(n1 ) , 10(n2 ) , 15(n3 ) ). This vector has the desired form with d = 5, q1 = 1, q2 = 2 and q3 = 3, and these qi ’s are pairwise relatively prime. By the theorem p is admissible if and only if n1 + dn2 /2e + dn3 /3e ≤ 5. So: p = (5(1) , 10(4) , 15(6) ) is admissible But p = (5(1) , 10(3) , 15(7) ) is inadmissible.

12 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Another example

Let p = (5(n1 ) , 10(n2 ) , 15(n3 ) ). This vector has the desired form with d = 5, q1 = 1, q2 = 2 and q3 = 3, and these qi ’s are pairwise relatively prime. By the theorem p is admissible if and only if n1 + dn2 /2e + dn3 /3e ≤ 5. So: p = (5(1) , 10(4) , 15(6) ) is admissible But p = (5(1) , 10(3) , 15(7) ) is inadmissible.

12 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Corollary (n )

(n )

Let p = (p1 1 , p2 2 ). Define d = gcd(p1 , p2 ) and q1 = p1 /d, q2 = p2 /d. Then p is admissible if and only if dn1 /q1 e + dn2 /q2 e ≤ d. Moreover, the set N (p1 , p2 ) is given by N (p1 , p2 ) = {(rq1 , (d − r )q2 ) : 0 ≤ r ≤ d, r ∈ Z}. A schedule for an admissible period-vector p is obtained by assigning lines with period p1 to r congruence classes Cd (each can take q1 lines) and the remaining lines to the remaining d − r congruence classes Cd (each can take q2 lines). Example. Let p1 = 10, p2 = 15. Then d = gcd(10, 15) = 5 and q1 = 10/5 = 2, q2 = 15/5 = 3 and N (10, 15) = {(0, 15), (2, 12), (4, 9), (6, 6), (8, 3), (10, 0)}. 13 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Corollary (n )

(n )

Let p = (p1 1 , p2 2 ). Define d = gcd(p1 , p2 ) and q1 = p1 /d, q2 = p2 /d. Then p is admissible if and only if dn1 /q1 e + dn2 /q2 e ≤ d. Moreover, the set N (p1 , p2 ) is given by N (p1 , p2 ) = {(rq1 , (d − r )q2 ) : 0 ≤ r ≤ d, r ∈ Z}. A schedule for an admissible period-vector p is obtained by assigning lines with period p1 to r congruence classes Cd (each can take q1 lines) and the remaining lines to the remaining d − r congruence classes Cd (each can take q2 lines). Example. Let p1 = 10, p2 = 15. Then d = gcd(10, 15) = 5 and q1 = 10/5 = 2, q2 = 15/5 = 3 and N (10, 15) = {(0, 15), (2, 12), (4, 9), (6, 6), (8, 3), (10, 0)}. 13 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Corollary (n )

(n )

Let p = (p1 1 , p2 2 ). Define d = gcd(p1 , p2 ) and q1 = p1 /d, q2 = p2 /d. Then p is admissible if and only if dn1 /q1 e + dn2 /q2 e ≤ d. Moreover, the set N (p1 , p2 ) is given by N (p1 , p2 ) = {(rq1 , (d − r )q2 ) : 0 ≤ r ≤ d, r ∈ Z}. A schedule for an admissible period-vector p is obtained by assigning lines with period p1 to r congruence classes Cd (each can take q1 lines) and the remaining lines to the remaining d − r congruence classes Cd (each can take q2 lines). Example. Let p1 = 10, p2 = 15. Then d = gcd(10, 15) = 5 and q1 = 10/5 = 2, q2 = 15/5 = 3 and N (10, 15) = {(0, 15), (2, 12), (4, 9), (6, 6), (8, 3), (10, 0)}. 13 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Corollary (n )

(n )

Let p = (p1 1 , p2 2 ). Define d = gcd(p1 , p2 ) and q1 = p1 /d, q2 = p2 /d. Then p is admissible if and only if dn1 /q1 e + dn2 /q2 e ≤ d. Moreover, the set N (p1 , p2 ) is given by N (p1 , p2 ) = {(rq1 , (d − r )q2 ) : 0 ≤ r ≤ d, r ∈ Z}. A schedule for an admissible period-vector p is obtained by assigning lines with period p1 to r congruence classes Cd (each can take q1 lines) and the remaining lines to the remaining d − r congruence classes Cd (each can take q2 lines). Example. Let p1 = 10, p2 = 15. Then d = gcd(10, 15) = 5 and q1 = 10/5 = 2, q2 = 15/5 = 3 and N (10, 15) = {(0, 15), (2, 12), (4, 9), (6, 6), (8, 3), (10, 0)}. 13 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Extension Larger distance between classes: safety interval (headway). A period-vector p ∈ P n to be ν-admissible if it has a schedule with classes where the distance between arrivals is at least ν. Theorem Let ν ≥ 1 be an integer. (n )

Let p = (p1 1 ). Then p is ν-admissible if and only if n1 ≤ bp1 /νc. (n )

(n )

Let p = (p1 1 , p2 2 ) where n1 , n2 ≥ 1. Define d = gcd(p1 , p2 ), q1 = p1 /d, and q2 = p2 /d. Then p is ν-admissible if and only if dn1 /q1 e + dn2 /q2 e ≤ bd/νc. Moreover, the maximal set Nν (p1 , p2 ) is ....

14 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Extension Larger distance between classes: safety interval (headway). A period-vector p ∈ P n to be ν-admissible if it has a schedule with classes where the distance between arrivals is at least ν. Theorem Let ν ≥ 1 be an integer. (n )

Let p = (p1 1 ). Then p is ν-admissible if and only if n1 ≤ bp1 /νc. (n )

(n )

Let p = (p1 1 , p2 2 ) where n1 , n2 ≥ 1. Define d = gcd(p1 , p2 ), q1 = p1 /d, and q2 = p2 /d. Then p is ν-admissible if and only if dn1 /q1 e + dn2 /q2 e ≤ bd/νc. Moreover, the maximal set Nν (p1 , p2 ) is ....

14 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Extension Larger distance between classes: safety interval (headway). A period-vector p ∈ P n to be ν-admissible if it has a schedule with classes where the distance between arrivals is at least ν. Theorem Let ν ≥ 1 be an integer. (n )

Let p = (p1 1 ). Then p is ν-admissible if and only if n1 ≤ bp1 /νc. (n )

(n )

Let p = (p1 1 , p2 2 ) where n1 , n2 ≥ 1. Define d = gcd(p1 , p2 ), q1 = p1 /d, and q2 = p2 /d. Then p is ν-admissible if and only if dn1 /q1 e + dn2 /q2 e ≤ bd/νc. Moreover, the maximal set Nν (p1 , p2 ) is ....

14 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Extension Larger distance between classes: safety interval (headway). A period-vector p ∈ P n to be ν-admissible if it has a schedule with classes where the distance between arrivals is at least ν. Theorem Let ν ≥ 1 be an integer. (n )

Let p = (p1 1 ). Then p is ν-admissible if and only if n1 ≤ bp1 /νc. (n )

(n )

Let p = (p1 1 , p2 2 ) where n1 , n2 ≥ 1. Define d = gcd(p1 , p2 ), q1 = p1 /d, and q2 = p2 /d. Then p is ν-admissible if and only if dn1 /q1 e + dn2 /q2 e ≤ bd/νc. Moreover, the maximal set Nν (p1 , p2 ) is ....

14 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Extension Larger distance between classes: safety interval (headway). A period-vector p ∈ P n to be ν-admissible if it has a schedule with classes where the distance between arrivals is at least ν. Theorem Let ν ≥ 1 be an integer. (n )

Let p = (p1 1 ). Then p is ν-admissible if and only if n1 ≤ bp1 /νc. (n )

(n )

Let p = (p1 1 , p2 2 ) where n1 , n2 ≥ 1. Define d = gcd(p1 , p2 ), q1 = p1 /d, and q2 = p2 /d. Then p is ν-admissible if and only if dn1 /q1 e + dn2 /q2 e ≤ bd/νc. Moreover, the maximal set Nν (p1 , p2 ) is ....

14 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Example. The table shows the densities based on periods 5, 6, 10 and 15. The column denoted by 5 shows densν ((5(n1 ) )) where n1 = b5/νc. The next columns, denoted by 6, 10 and 15, show the corresponding densities for each of these maximal period-vectors. The last six columns show the densities for (positive) maximal (n ) (n ) mixed period-vectors of the form p = (p1 1 , p2 2 ).

ν 1 2 3

5 1.00 0.80 0.60

6 1.00 1.00 1.00

10 1.00 1.00 0.90

15 1.00 0.93 1.00

(5, 6) 0.00 0.00 0.00

(5, 10) 1.00 0.80 0.00

(6, 10) 1.00 0.00 0.00

(5, 15) 1.00 0.80 0.00

(6, 15) 1.00 0.00 0.00

(10, 15) 1.00 0.80 0.00

Figure: Comparison of densities

15 / 18

Disjoint congruence classes and an optimization problem Theorems, results

Example. The table shows the densities based on periods 5, 6, 10 and 15. The column denoted by 5 shows densν ((5(n1 ) )) where n1 = b5/νc. The next columns, denoted by 6, 10 and 15, show the corresponding densities for each of these maximal period-vectors. The last six columns show the densities for (positive) maximal (n ) (n ) mixed period-vectors of the form p = (p1 1 , p2 2 ).

ν 1 2 3

5 1.00 0.80 0.60

6 1.00 1.00 1.00

10 1.00 1.00 0.90

15 1.00 0.93 1.00

(5, 6) 0.00 0.00 0.00

(5, 10) 1.00 0.80 0.00

(6, 10) 1.00 0.00 0.00

(5, 15) 1.00 0.80 0.00

(6, 15) 1.00 0.00 0.00

(10, 15) 1.00 0.80 0.00

Figure: Comparison of densities

15 / 18

Disjoint congruence classes and an optimization problem Optimization

Optimization Zero-one ILP (integer linear programming) problem: P max i,k xik subject to P for each k i xik ≤ 1 Pk+pi −1 xik ≤ 1 for each i, k j=k xik = xij xik ∈ {0, 1}

when k ≡ j ( mod pi ) for all i, k.

Easy to solve by CPLEX.

16 / 18

Disjoint congruence classes and an optimization problem Optimization

Optimization Zero-one ILP (integer linear programming) problem: P max i,k xik subject to P for each k i xik ≤ 1 Pk+pi −1 xik ≤ 1 for each i, k j=k xik = xij xik ∈ {0, 1}

when k ≡ j ( mod pi ) for all i, k.

Easy to solve by CPLEX.

16 / 18

Disjoint congruence classes and an optimization problem Optimization

Optimization Zero-one ILP (integer linear programming) problem: P max i,k xik subject to P for each k i xik ≤ 1 Pk+pi −1 xik ≤ 1 for each i, k j=k xik = xij xik ∈ {0, 1}

when k ≡ j ( mod pi ) for all i, k.

Easy to solve by CPLEX.

16 / 18

Disjoint congruence classes and an optimization problem Optimization

Example. p = (5, 6, 6, 6, 10, 10, 12, 15, 15, 15, 30, 30).

1

Let ν = 1.Here n = 12 and freq(p) = 75 so p is inadmissible. However, the optimization problem still makes sense. In this case CPLEX found an optimal solution where lines with periods 6, 6, 6, 12, 15, 15, 15, 30, 30 were used, but the two lines with period 10 were not used. The optimal value is then 51. The problem required 63 branch-and-bound nodes.

2

Let ν = 2. After 11 branch-and-bound nodes: an optimal solution where all lines with pi = 6 were used, so the optimal value was 30. Thus, for ν = 2, p is complete. 17 / 18

Disjoint congruence classes and an optimization problem Optimization

Example. p = (5, 6, 6, 6, 10, 10, 12, 15, 15, 15, 30, 30).

1

Let ν = 1.Here n = 12 and freq(p) = 75 so p is inadmissible. However, the optimization problem still makes sense. In this case CPLEX found an optimal solution where lines with periods 6, 6, 6, 12, 15, 15, 15, 30, 30 were used, but the two lines with period 10 were not used. The optimal value is then 51. The problem required 63 branch-and-bound nodes.

2

Let ν = 2. After 11 branch-and-bound nodes: an optimal solution where all lines with pi = 6 were used, so the optimal value was 30. Thus, for ν = 2, p is complete. 17 / 18

Disjoint congruence classes and an optimization problem Optimization

Example. p = (5, 6, 6, 6, 10, 10, 12, 15, 15, 15, 30, 30).

1

Let ν = 1.Here n = 12 and freq(p) = 75 so p is inadmissible. However, the optimization problem still makes sense. In this case CPLEX found an optimal solution where lines with periods 6, 6, 6, 12, 15, 15, 15, 30, 30 were used, but the two lines with period 10 were not used. The optimal value is then 51. The problem required 63 branch-and-bound nodes.

2

Let ν = 2. After 11 branch-and-bound nodes: an optimal solution where all lines with pi = 6 were used, so the optimal value was 30. Thus, for ν = 2, p is complete. 17 / 18

Disjoint congruence classes and an optimization problem Optimization

Example. p = (5, 6, 6, 6, 10, 10, 12, 15, 15, 15, 30, 30).

1

Let ν = 1.Here n = 12 and freq(p) = 75 so p is inadmissible. However, the optimization problem still makes sense. In this case CPLEX found an optimal solution where lines with periods 6, 6, 6, 12, 15, 15, 15, 30, 30 were used, but the two lines with period 10 were not used. The optimal value is then 51. The problem required 63 branch-and-bound nodes.

2

Let ν = 2. After 11 branch-and-bound nodes: an optimal solution where all lines with pi = 6 were used, so the optimal value was 30. Thus, for ν = 2, p is complete. 17 / 18

Disjoint congruence classes and an optimization problem Optimization

Example. p = (5, 6, 6, 6, 10, 10, 12, 15, 15, 15, 30, 30).

1

Let ν = 1.Here n = 12 and freq(p) = 75 so p is inadmissible. However, the optimization problem still makes sense. In this case CPLEX found an optimal solution where lines with periods 6, 6, 6, 12, 15, 15, 15, 30, 30 were used, but the two lines with period 10 were not used. The optimal value is then 51. The problem required 63 branch-and-bound nodes.

2

Let ν = 2. After 11 branch-and-bound nodes: an optimal solution where all lines with pi = 6 were used, so the optimal value was 30. Thus, for ν = 2, p is complete. 17 / 18

Disjoint congruence classes and an optimization problem Optimization

References: G. Dahl, Disjoint congruence classes and a timetabling application, to appear in Discrete Applied Mathematics. ATMOS 2006 - 6th Workshop on Algorithmic Methods and Models for Optimization of Railways, Dagstuhl Seminar Proceedings, Volume 06002, 2006. R.E. Burkard, Optimal schedules for periodically recurring events, Discrete Appl. Math. 15 (1986), no. 2-3, 167–180. D. de Werra, The combinatorics of timetabling, European Journal of Operational Research 96 (No. 3)(1997) 504–513. F. Geraets, L.G. Kroon, A. Sch¨ obel, D. Wagner and C.D. Zaroliagis (Eds.), Algorithmic Methods for Railway Optimization, Lecture Notes in Computer Science, Springer Berlin / Heidelberg, Volume 4359/2007. A.P. Huhn, L. Megyesi, On disjoint residue classes, Discrete Mathematics 41 (1982) 327–330.

18 / 18

Suggest Documents