Constraint Programming

Size: px
Start display at page:

Download "Constraint Programming"

Transcription

1 1 / 28 Constraint Programming Lecture 4. Global Constraints. Ruslan Sadykov INRIA Bordeaux Sud-Ouest 5 February 2018

2 2 / 28 Importance of global constraints A global constraint is a union of simple constraints. Use of global constraints facilitates the modeling (smaller number of constraints, libraries of constraints) ; accelerates the solving (specialised, and thus efficient, algorithms for propagation). Important Global constraints contribute a lot to the succes of Constraint Programming in practice. Catalogue of global constraints : http ://sofdem.github.io/gccat/

3 2 / 28 Importance of global constraints A global constraint is a union of simple constraints. Use of global constraints facilitates the modeling (smaller number of constraints, libraries of constraints) ; accelerates the solving (specialised, and thus efficient, algorithms for propagation). Important Global constraints contribute a lot to the succes of Constraint Programming in practice. Catalogue of global constraints : http ://sofdem.github.io/gccat/

4 2 / 28 Importance of global constraints A global constraint is a union of simple constraints. Use of global constraints facilitates the modeling (smaller number of constraints, libraries of constraints) ; accelerates the solving (specialised, and thus efficient, algorithms for propagation). Important Global constraints contribute a lot to the succes of Constraint Programming in practice. Catalogue of global constraints : http ://sofdem.github.io/gccat/

5 2 / 28 Importance of global constraints A global constraint is a union of simple constraints. Use of global constraints facilitates the modeling (smaller number of constraints, libraries of constraints) ; accelerates the solving (specialised, and thus efficient, algorithms for propagation). Important Global constraints contribute a lot to the succes of Constraint Programming in practice. Catalogue of global constraints : http ://sofdem.github.io/gccat/

6 2 / 28 Importance of global constraints A global constraint is a union of simple constraints. Use of global constraints facilitates the modeling (smaller number of constraints, libraries of constraints) ; accelerates the solving (specialised, and thus efficient, algorithms for propagation). Important Global constraints contribute a lot to the succes of Constraint Programming in practice. Catalogue of global constraints : http ://sofdem.github.io/gccat/

7 3 / 28 Lignes directrices «Simple» constraints All-diff GCC Constraints for scheduling

8 4 / 28 Global constraint ScalProd scal_prod(x 1,..., X n, c 1,..., c n, v) Equivalent to n c i X i = v. i=1 Rules for achieving arc-b-consistency ( D Xi = [x i, x i ], c i > 0 ) x i max x i, v 1 j n: j i c i } max {c j x j, c j x j x i min x i, v 1 j n: j i c i } min {c j x j, c j x j

9 4 / 28 Global constraint ScalProd scal_prod(x 1,..., X n, c 1,..., c n, v) Equivalent to n c i X i = v. i=1 Rules for achieving arc-b-consistency ( D Xi = [x i, x i ], c i > 0 ) x i max x i, v 1 j n: j i c i } max {c j x j, c j x j x i min x i, v 1 j n: j i c i } min {c j x j, c j x j

10 5 / 28 Global constraint Element element(x, v 1,..., v n, Y ) Equivalent to X = v Y. We should have D Y {1,..., n}. This constraint allows one to use variables as indices. Can be represented as the following explicit constraint : (X, Y ) {(v i, i)} 1 i n. So, the arc-consistency can be achieved using classic algorithms (AC-3, AC-4, etc).

11 5 / 28 Global constraint Element element(x, v 1,..., v n, Y ) Equivalent to X = v Y. We should have D Y {1,..., n}. This constraint allows one to use variables as indices. Can be represented as the following explicit constraint : (X, Y ) {(v i, i)} 1 i n. So, the arc-consistency can be achieved using classic algorithms (AC-3, AC-4, etc).

12 5 / 28 Global constraint Element element(x, v 1,..., v n, Y ) Equivalent to X = v Y. We should have D Y {1,..., n}. This constraint allows one to use variables as indices. Can be represented as the following explicit constraint : (X, Y ) {(v i, i)} 1 i n. So, the arc-consistency can be achieved using classic algorithms (AC-3, AC-4, etc).

13 6 / 28 Lignes directrices «Simple» constraints All-diff GCC Constraints for scheduling

14 7 / 28 Global constraint all-different all-different(x 1,..., X n ) Replaces n2 2 binary constraints X i X j, 1 i < j n. The most used constraint in practice : assignment, permutation,... We can achieve arc-consistency in time O( nnd) using graph theory (Régin, 94) tools (to compare with complexity O(n 2 d 2 ) if we take constraints one by one).

15 7 / 28 Global constraint all-different all-different(x 1,..., X n ) Replaces n2 2 binary constraints X i X j, 1 i < j n. The most used constraint in practice : assignment, permutation,... We can achieve arc-consistency in time O( nnd) using graph theory (Régin, 94) tools (to compare with complexity O(n 2 d 2 ) if we take constraints one by one).

16 7 / 28 Global constraint all-different all-different(x 1,..., X n ) Replaces n2 2 binary constraints X i X j, 1 i < j n. The most used constraint in practice : assignment, permutation,... We can achieve arc-consistency in time O( nnd) using graph theory (Régin, 94) tools (to compare with complexity O(n 2 d 2 ) if we take constraints one by one).

17 8 / 28 Matching problem in a graph Bipartite graph is a graph vertices of which can be partitioned in two subsets U and V such that each edge incident to one vertex in U and to one in V. Matching in a graph is a set of disjoint edges (which do have common incident vertices) Maximum matching in a graph is a maximum size matching. Alternating path (given a matching) is a path in which the edges belong alternatively to the matching and not to the matching.

18 9 / 28 All-different constraint : propagation Algorithm : 1. We construct a bipartite «value» graph. 2. We search for a maximum matching (if its size is < n, then there is no solution). 3. Given this matching, we establish edges which do not belong to an alternating circuit, an alternating path such that one of its extremities is a free vertex, the matching found. 4. We remove values which correspond to these edges. Exemple : D x1 = {1, 2}, D x2 = {2, 3}, D x3 = {1, 3}, D x4 = {3, 4}, D x5 = {2, 4, 5, 6}, D x6 = {5, 6, 7} all-different(x 1,..., x 6 ) x 1 x 2 x 3 x 4 x 5 x

19 9 / 28 All-different constraint : propagation Algorithm : 1. We construct a bipartite «value» graph. 2. We search for a maximum matching (if its size is < n, then there is no solution). 3. Given this matching, we establish edges which do not belong to an alternating circuit, an alternating path such that one of its extremities is a free vertex, the matching found. 4. We remove values which correspond to these edges. Exemple : D x1 = {1, 2}, D x2 = {2, 3}, D x3 = {1, 3}, D x4 = {3, 4}, D x5 = {2, 4, 5, 6}, D x6 = {5, 6, 7} all-different(x 1,..., x 6 ) x 1 x 2 x 3 x 4 x 5 x

20 9 / 28 All-different constraint : propagation Algorithm : 1. We construct a bipartite «value» graph. 2. We search for a maximum matching (if its size is < n, then there is no solution). 3. Given this matching, we establish edges which do not belong to an alternating circuit, an alternating path such that one of its extremities is a free vertex, the matching found. 4. We remove values which correspond to these edges. Exemple : D x1 = {1, 2}, D x2 = {2, 3}, D x3 = {1, 3}, D x4 = {3, 4}, D x5 = {2, 4, 5, 6}, D x6 = {5, 6, 7} all-different(x 1,..., x 6 ) x 1 x 2 x 3 x 4 x 5 x

21 9 / 28 All-different constraint : propagation Algorithm : 1. We construct a bipartite «value» graph. 2. We search for a maximum matching (if its size is < n, then there is no solution). 3. Given this matching, we establish edges which do not belong to an alternating circuit, an alternating path such that one of its extremities is a free vertex, the matching found. 4. We remove values which correspond to these edges. Exemple : D x1 = {1, 2}, D x2 = {2, 3}, D x3 = {1, 3}, D x4 = { 3, 4}, D x5 = { 2, 4, 5, 6}, D x6 = {5, 6, 7} all-different(x 1,..., x 6 ) x 1 x 2 x 3 x 4 x 5 x

22 10 / 28 Global constraint assignment assignment(x 1,..., X n, Y 1,..., Y n ) It is the symmetric all-different constraint : X i = j Y j = i, 1 i, j n. We should have D X {1,..., n}, D Y {1,..., n}. Used for mutual assignment. We can achieve arc-consistency using the same algorithm as for the all-different constraint. X 1 X 2 X 3 X 4 X 5 Y 1 Y 2 Y 3 Y 4 Y 5

23 10 / 28 Global constraint assignment assignment(x 1,..., X n, Y 1,..., Y n ) It is the symmetric all-different constraint : X i = j Y j = i, 1 i, j n. We should have D X {1,..., n}, D Y {1,..., n}. Used for mutual assignment. We can achieve arc-consistency using the same algorithm as for the all-different constraint. X 1 X 2 X 3 X 4 X 5 Y 1 Y 2 Y 3 Y 4 Y 5

24 10 / 28 Global constraint assignment assignment(x 1,..., X n, Y 1,..., Y n ) It is the symmetric all-different constraint : X i = j Y j = i, 1 i, j n. We should have D X {1,..., n}, D Y {1,..., n}. Used for mutual assignment. We can achieve arc-consistency using the same algorithm as for the all-different constraint. X 1 X 2 X 3 X 4 X 5 Y 1 Y 2 Y 3 Y 4 Y 5

25 10 / 28 Global constraint assignment assignment(x 1,..., X n, Y 1,..., Y n ) It is the symmetric all-different constraint : X i = j Y j = i, 1 i, j n. We should have D X {1,..., n}, D Y {1,..., n}. Used for mutual assignment. We can achieve arc-consistency using the same algorithm as for the all-different constraint. X 1 X 2 X 3 X 4 X 5 Y 1 Y 2 Y 3 Y 4 Y 5

26 11 / 28 Lignes directrices «Simple» constraints All-diff GCC Constraints for scheduling

27 12 / 28 Global constraint GCC GCC(X 1,..., X n, v 1,..., v k, l 1,..., l k, u 1,..., u k ) This global cardinality constraint is a generalisation of all-different : the number of times each value v j is taken should be inside interval [l j, u j ] (for all-different, l j = 0, u j = 1, j). Often used in practice : complicated assignment, distribution,... We can achieve the arc-consistency for constraint GCC in time O(n 2 d) by using the maximum flow algorithm (Régin, 99).

28 12 / 28 Global constraint GCC GCC(X 1,..., X n, v 1,..., v k, l 1,..., l k, u 1,..., u k ) This global cardinality constraint is a generalisation of all-different : the number of times each value v j is taken should be inside interval [l j, u j ] (for all-different, l j = 0, u j = 1, j). Often used in practice : complicated assignment, distribution,... We can achieve the arc-consistency for constraint GCC in time O(n 2 d) by using the maximum flow algorithm (Régin, 99).

29 12 / 28 Global constraint GCC GCC(X 1,..., X n, v 1,..., v k, l 1,..., l k, u 1,..., u k ) This global cardinality constraint is a generalisation of all-different : the number of times each value v j is taken should be inside interval [l j, u j ] (for all-different, l j = 0, u j = 1, j). Often used in practice : complicated assignment, distribution,... We can achieve the arc-consistency for constraint GCC in time O(n 2 d) by using the maximum flow algorithm (Régin, 99).

30 13 / 28 Maximum flow in a graph Notations Let D = (V, A) be an directed graph in which to each arc (i, j) A we associate a capacity u ij. Flow definition A flow in graph D is a function f defined on arcs of D : 0 f ij u ij, (i, j) A, f ij = f ji, j V \ {s, d}. i: (i,j) A i: (j,i) A Problem Find the maximum flow which can be sent from s to t.

31 14 / 28 Construction of maximum flow Algorithm : 1. We start with a feasible flow f (for example, zero flow). 2. We construct the residual directed graph R = (V, A ) : f ij > 0 (j, i) A ; fij < u ij (i, j) A. 3. If there exists a path from s to t in the residual graph, we increase the flow along this path as much as possible. 4. If such path does not exists, the flow is maximum. Example : 3,4 3 5,5 s = 1 2,3 t = 4 2,2 2 0,1

32 14 / 28 Construction of maximum flow Algorithm : 1. We start with a feasible flow f (for example, zero flow). 2. We construct the residual directed graph R = (V, A ) : f ij > 0 (j, i) A ; fij < u ij (i, j) A. 3. If there exists a path from s to t in the residual graph, we increase the flow along this path as much as possible. 4. If such path does not exists, the flow is maximum. Example : 3,4 3 5,5 s = 1 2,3 t = 4 2,2 2 0,1 3 s = 1 t = 4 2

33 14 / 28 Construction of maximum flow Algorithm : 1. We start with a feasible flow f (for example, zero flow). 2. We construct the residual directed graph R = (V, A ) : f ij > 0 (j, i) A ; f ij < u ij (i, j) A. 3. If there exists a path from s to t in the residual graph, we increase the flow along this path as much as possible. 4. If such path does not exists, the flow is maximum. Example : 3,4 3 5,5 s = 1 2,3 t = 4 2,2 2 0,1 3 s = 1 t = 4 2 4,4 3 5,5 s = 1 1,3 t = 4 2,2 2 1,1

34 14 / 28 Construction of maximum flow Algorithm : 1. We start with a feasible flow f (for example, zero flow). 2. We construct the residual directed graph R = (V, A ) : f ij > 0 (j, i) A ; f ij < u ij (i, j) A. 3. If there exists a path from s to t in the residual graph, we increase the flow along this path as much as possible. 4. If such path does not exists, the flow is maximum. Example : 3,4 3 5,5 s = 1 2,3 t = 4 2,2 2 0,1 3 s = 1 t = 4 2 4,4 3 5,5 s = 1 1,3 t = 4 2,2 2 1,1

35 15 / 28 Propagation of constraint GCC I We construct the «value» graph : Peter M(1,2) Paul Mary D(1,2) s John N(1,1) t Bob Mike B(0,2) Julia O(0,2)

36 16 / 28 Propagation of constraint GCC II We find the maximum flow : Peter M(1,2) Paul Mary D(1,2) 2 2 s John N(1,1) 1 1 t Bob Mike B(0,2) 1 Julia O(0,2)

37 17 / 28 Propagation of constraint GCC III We construct the residual graph induces by the maximum flow : Peter M(1,2) Paul Mary D(1,2) s John N(1,1) t Bob Mike B(0,2) Julia O(0,2)

38 18 / 28 Propagation of constraint GCC IV We establish non-saturated arcs which between variables and values which do not belong to any circuit in the residual graph (decomposition in strongly connected components) : Peter M(1,2) Paul Mary D(1,2) s John N(1,1) t Bob Mike B(0,2) Julia O(0,2)

39 19 / 28 Propagation of constraint GCC V We remove values which correspond to these edges : Peter M(1,2) Paul Mary John D(1,2) N(1,1) Bob Mike Julia B(0,2) O(0,2)

40 20 / 28 Lignes directrices «Simple» constraints All-diff GCC Constraints for scheduling

41 21 / 28 Global constraint disjunctive disjunctive(x 1,..., X n, p 1,..., p n ) Replaces n2 2 logical binary constraints : X i + p i X j Xi X j + p j, i, j : i j. Often used for scheduling problems (often with D xi = [r i, d i p i ])

42 22 / 28 Global constraint disjunctive : propagation I Achieving arc-b-consistency for this constraint is NP-hard. Weaker («Edge-Finding») propagation is used : max d i min r i < p i Ω précède k i Ω i Ω {k} r k max Ω Ω Ω {k} { min i Ω r i + i Ω p i } k = 1 Ω = {2, 3} r k 8

43 22 / 28 Global constraint disjunctive : propagation I Achieving arc-b-consistency for this constraint is NP-hard. Weaker («Edge-Finding») propagation is used : max d i min r i < p i Ω précède k i Ω i Ω {k} r k max Ω Ω Ω {k} { min i Ω r i + i Ω p i } k = 1 Ω = {2, 3} r k 8

44 23 / 28 Global constraint disjunctive : propagation II «Edge-Finding» detects if job k should be executed before (after) all jobs in set Ω. We can verify all possible pairs (Ω, k) in time O(n log n). (Carlier & Pinson, 94). «Not-First/Not-Last» detects if job k should be execute before (after) at least one job in set Ω. We can verify all possible pairs (Ω, k) in time O(n log n). (Vilím, 04). «Detectable precedences»,...

45 23 / 28 Global constraint disjunctive : propagation II «Edge-Finding» detects if job k should be executed before (after) all jobs in set Ω. We can verify all possible pairs (Ω, k) in time O(n log n). (Carlier & Pinson, 94). «Not-First/Not-Last» detects if job k should be execute before (after) at least one job in set Ω. We can verify all possible pairs (Ω, k) in time O(n log n). (Vilím, 04). «Detectable precedences»,...

46 23 / 28 Global constraint disjunctive : propagation II «Edge-Finding» detects if job k should be executed before (after) all jobs in set Ω. We can verify all possible pairs (Ω, k) in time O(n log n). (Carlier & Pinson, 94). «Not-First/Not-Last» detects if job k should be execute before (after) at least one job in set Ω. We can verify all possible pairs (Ω, k) in time O(n log n). (Vilím, 04). «Detectable precedences»,...

47 24 / 28 Global constraint Cumulative r rd p 1 cumulative(x 1,..., X n, p 1,..., p n, rd 1,..., rd n, r) Jobs should not overlap ; + each job i consumes rd i units of the resource ; + at each time moment we cannot use more than r units of the resource. It is a generalisation of disjunctive, for which rd i = 1, i, et r = 1.

48 24 / 28 Global constraint Cumulative r rd p 1 cumulative(x 1,..., X n, p 1,..., p n, rd 1,..., rd n, r) Jobs should not overlap ; + each job i consumes rd i units of the resource ; + at each time moment we cannot use more than r units of the resource. It is a generalisation of disjunctive, for which rd i = 1, i, et r = 1.

49 25 / 28 Global constraint cumulative : example f (6) source d (2) e (5) puits a (2) b (6) c (2) If X c 9, X e 4, X f 14, then, after propagation of precedence constraints D(X a ) = [0, 1], D(X b ) = [2, 3], D(X c ) = [8, 9], D(X d ) = [0, 2], D(X e ) = [2, 4], D(X f ) = [0, 14].

50 25 / 28 Global constraint cumulative : example f (6) source d (2) e (5) puits a (2) b (6) c (2) If X c 9, X e 4, X f 14, then, after propagation of precedence constraints D(X a ) = [0, 1], D(X b ) = [2, 3], D(X c ) = [8, 9], D(X d ) = [0, 2], D(X e ) = [2, 4], D(X f ) = [0, 14].

51 26 / 28 Cumulative : Time-table propagation (1) e f a d b c Obligatory parts date de début au plus tôt partie obligatoire p i date de fin au plus tard

52 26 / 28 Cumulative : Time-table propagation (1) e f a d b c Obligatory parts date de début au plus tôt partie obligatoire p i date de fin au plus tard

53 26 / 28 Cumulative : Time-table propagation (1) e f d a b c Obligatory parts date de début au plus tôt partie obligatoire p i date de fin au plus tard

54 27 / 28 Cumulative : Time-table propagation (2) f a e b c Complexity Time-table propagation can be done in timeo(n log n) (Lahrichi, 82)

55 27 / 28 Cumulative : Time-table propagation (2) f a e b c Complexity Time-table propagation can be done in timeo(n log n) (Lahrichi, 82)

56 28 / 28 Constraint Cumulative : other «propagations» «Edge-Finding» detects if job k should start before (finish after) all the jobs in set Ω. We can verify all possible pairs (Ω, k) in time O(n 2 ) (Kameugne et al, 11) or in time O(rn log n) (Vilim, 09) «Not-First/Not-Last» detects if job k should be execute after (before) at least one job in set Ω. We can verify all possible pairs (Ω, k) in time O(n 3 ). (Baptiste et al., 01).

57 28 / 28 Constraint Cumulative : other «propagations» «Edge-Finding» detects if job k should start before (finish after) all the jobs in set Ω. We can verify all possible pairs (Ω, k) in time O(n 2 ) (Kameugne et al, 11) or in time O(rn log n) (Vilim, 09) «Not-First/Not-Last» detects if job k should be execute after (before) at least one job in set Ω. We can verify all possible pairs (Ω, k) in time O(n 3 ). (Baptiste et al., 01).

Graphs and Network Flows IE411. Lecture 13. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 13. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 13 Dr. Ted Ralphs IE411 Lecture 13 1 References for Today s Lecture IE411 Lecture 13 2 References for Today s Lecture Required reading Sections 21.1 21.2 References

More information

PART II: Local Consistency & Constraint Propagation

PART II: Local Consistency & Constraint Propagation PART II: Local Consistency & Constraint Propagation Solving CSPs Search algorithm. Usually backtracking search performing a depth-first traversal of a search tree. Local consistency and constraint propagation.

More information

Constraint Programming. Global Constraints. Amira Zaki Prof. Dr. Thom Frühwirth. University of Ulm WS 2012/2013

Constraint Programming. Global Constraints. Amira Zaki Prof. Dr. Thom Frühwirth. University of Ulm WS 2012/2013 Global Constraints Amira Zaki Prof. Dr. Thom Frühwirth University of Ulm WS 2012/2013 Amira Zaki & Thom Frühwirth University of Ulm Page 1 WS 2012/2013 Overview Classes of Constraints Global Constraints

More information

Binary Relations McGraw-Hill Education

Binary Relations McGraw-Hill Education Binary Relations A binary relation R from a set A to a set B is a subset of A X B Example: Let A = {0,1,2} and B = {a,b} {(0, a), (0, b), (1,a), (2, b)} is a relation from A to B. We can also represent

More information

AMS /672: Graph Theory Homework Problems - Week V. Problems to be handed in on Wednesday, March 2: 6, 8, 9, 11, 12.

AMS /672: Graph Theory Homework Problems - Week V. Problems to be handed in on Wednesday, March 2: 6, 8, 9, 11, 12. AMS 550.47/67: Graph Theory Homework Problems - Week V Problems to be handed in on Wednesday, March : 6, 8, 9,,.. Assignment Problem. Suppose we have a set {J, J,..., J r } of r jobs to be filled by a

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 21 Dr. Ted Ralphs IE411 Lecture 21 1 Combinatorial Optimization and Network Flows In general, most combinatorial optimization and integer programming problems are

More information

1. Lecture notes on bipartite matching February 4th,

1. Lecture notes on bipartite matching February 4th, 1. Lecture notes on bipartite matching February 4th, 2015 6 1.1.1 Hall s Theorem Hall s theorem gives a necessary and sufficient condition for a bipartite graph to have a matching which saturates (or matches)

More information

Introduction III. Graphs. Motivations I. Introduction IV

Introduction III. Graphs. Motivations I. Introduction IV Introduction I Graphs Computer Science & Engineering 235: Discrete Mathematics Christopher M. Bourke cbourke@cse.unl.edu Graph theory was introduced in the 18th century by Leonhard Euler via the Königsberg

More information

Job-shop scheduling with limited capacity buffers

Job-shop scheduling with limited capacity buffers Job-shop scheduling with limited capacity buffers Peter Brucker, Silvia Heitmann University of Osnabrück, Department of Mathematics/Informatics Albrechtstr. 28, D-49069 Osnabrück, Germany {peter,sheitman}@mathematik.uni-osnabrueck.de

More information

Graph and Digraph Glossary

Graph and Digraph Glossary 1 of 15 31.1.2004 14:45 Graph and Digraph Glossary A B C D E F G H I-J K L M N O P-Q R S T U V W-Z Acyclic Graph A graph is acyclic if it contains no cycles. Adjacency Matrix A 0-1 square matrix whose

More information

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Wei Wang joint with Zishen Yang, Xianliang Liu School of Mathematics and Statistics, Xi an Jiaotong University Dec 20, 2016

More information

Combining Tree Partitioning, Precedence, and Incomparability Constraints

Combining Tree Partitioning, Precedence, and Incomparability Constraints Combining Tree Partitioning, Precedence, and Incomparability Constraints Nicolas Beldiceanu 1, Pierre Flener 2, and Xavier Lorca 1 1 École des Mines de Nantes, LINA FREE CNRS 2729 FR 44307 Nantes Cedex

More information

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department CS473-Algorithms I Lecture 3-A Graphs Graphs A directed graph (or digraph) G is a pair (V, E), where V is a finite set, and E is a binary relation on V The set V: Vertex set of G The set E: Edge set of

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

Graph Theory S 1 I 2 I 1 S 2 I 1 I 2

Graph Theory S 1 I 2 I 1 S 2 I 1 I 2 Graph Theory S I I S S I I S Graphs Definition A graph G is a pair consisting of a vertex set V (G), and an edge set E(G) ( ) V (G). x and y are the endpoints of edge e = {x, y}. They are called adjacent

More information

1. a graph G = (V (G), E(G)) consists of a set V (G) of vertices, and a set E(G) of edges (edges are pairs of elements of V (G))

1. a graph G = (V (G), E(G)) consists of a set V (G) of vertices, and a set E(G) of edges (edges are pairs of elements of V (G)) 10 Graphs 10.1 Graphs and Graph Models 1. a graph G = (V (G), E(G)) consists of a set V (G) of vertices, and a set E(G) of edges (edges are pairs of elements of V (G)) 2. an edge is present, say e = {u,

More information

Chapter 10 Part 1: Reduction

Chapter 10 Part 1: Reduction //06 Polynomial-Time Reduction Suppose we could solve Y in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Chapter 0 Part : Reduction Reduction. Problem X

More information

Lecture 11: Maximum flow and minimum cut

Lecture 11: Maximum flow and minimum cut Optimisation Part IB - Easter 2018 Lecture 11: Maximum flow and minimum cut Lecturer: Quentin Berthet 4.4. The maximum flow problem. We consider in this lecture a particular kind of flow problem, with

More information

Polynomial time approximation algorithms

Polynomial time approximation algorithms Polynomial time approximation algorithms Doctoral course Optimization on graphs - Lecture 5.2 Giovanni Righini January 18 th, 2013 Approximation algorithms There are several reasons for using approximation

More information

and 6.855J March 6, Maximum Flows 2

and 6.855J March 6, Maximum Flows 2 5.08 and.855j March, 00 Maximum Flows Network Reliability Communication Network What is the maximum number of arc disjoint paths from s to t? How can we determine this number? Theorem. Let G = (N,A) be

More information

5. Lecture notes on matroid intersection

5. Lecture notes on matroid intersection Massachusetts Institute of Technology Handout 14 18.433: Combinatorial Optimization April 1st, 2009 Michel X. Goemans 5. Lecture notes on matroid intersection One nice feature about matroids is that a

More information

Course Introduction / Review of Fundamentals of Graph Theory

Course Introduction / Review of Fundamentals of Graph Theory Course Introduction / Review of Fundamentals of Graph Theory Hiroki Sayama sayama@binghamton.edu Rise of Network Science (From Barabasi 2010) 2 Network models Many discrete parts involved Classic mean-field

More information

Algorithmic Graph Theory and Perfect Graphs

Algorithmic Graph Theory and Perfect Graphs Algorithmic Graph Theory and Perfect Graphs Second Edition Martin Charles Golumbic Caesarea Rothschild Institute University of Haifa Haifa, Israel 2004 ELSEVIER.. Amsterdam - Boston - Heidelberg - London

More information

Thompson groups, Cantor space, and foldings of de Bruijn graphs. Peter J. Cameron University of St Andrews

Thompson groups, Cantor space, and foldings of de Bruijn graphs. Peter J. Cameron University of St Andrews Thompson groups, Cantor space, and foldings of de Bruijn graphs Peter J Cameron University of St Andrews Breaking the boundaries University of Sussex April 25 The 97s Three groups I was born (in Paul Erdős

More information

Cayley graphs and coset diagrams/1

Cayley graphs and coset diagrams/1 1 Introduction Cayley graphs and coset diagrams Let G be a finite group, and X a subset of G. The Cayley graph of G with respect to X, written Cay(G, X) has two different definitions in the literature.

More information

Graph Theory: Introduction

Graph Theory: Introduction Graph Theory: Introduction Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering, IIT Kharagpur pallab@cse.iitkgp.ernet.in Resources Copies of slides available at: http://www.facweb.iitkgp.ernet.in/~pallab

More information

Discrete mathematics , Fall Instructor: prof. János Pach

Discrete mathematics , Fall Instructor: prof. János Pach Discrete mathematics 2016-2017, Fall Instructor: prof. János Pach - covered material - Lecture 1. Counting problems To read: [Lov]: 1.2. Sets, 1.3. Number of subsets, 1.5. Sequences, 1.6. Permutations,

More information

9 About Intersection Graphs

9 About Intersection Graphs 9 About Intersection Graphs Since this lecture we focus on selected detailed topics in Graph theory that are close to your teacher s heart... The first selected topic is that of intersection graphs, i.e.

More information

Introduction to Graph Theory

Introduction to Graph Theory Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex

More information

Math 776 Graph Theory Lecture Note 1 Basic concepts

Math 776 Graph Theory Lecture Note 1 Basic concepts Math 776 Graph Theory Lecture Note 1 Basic concepts Lectured by Lincoln Lu Transcribed by Lincoln Lu Graph theory was founded by the great Swiss mathematician Leonhard Euler (1707-178) after he solved

More information

On Sequential Topogenic Graphs

On Sequential Topogenic Graphs Int. J. Contemp. Math. Sciences, Vol. 5, 2010, no. 36, 1799-1805 On Sequential Topogenic Graphs Bindhu K. Thomas, K. A. Germina and Jisha Elizabath Joy Research Center & PG Department of Mathematics Mary

More information

1. Lecture notes on bipartite matching

1. Lecture notes on bipartite matching Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans February 5, 2017 1. Lecture notes on bipartite matching Matching problems are among the fundamental problems in

More information

10. EXTENDING TRACTABILITY

10. EXTENDING TRACTABILITY 0. EXTENDING TRACTABILITY finding small vertex covers solving NP-hard problems on trees circular arc coverings vertex cover in bipartite graphs Lecture slides by Kevin Wayne Copyright 005 Pearson-Addison

More information

Part II. Graph Theory. Year

Part II. Graph Theory. Year Part II Year 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2017 53 Paper 3, Section II 15H Define the Ramsey numbers R(s, t) for integers s, t 2. Show that R(s, t) exists for all s,

More information

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur Lecture : Graphs Rajat Mittal IIT Kanpur Combinatorial graphs provide a natural way to model connections between different objects. They are very useful in depicting communication networks, social networks

More information

On some problems in graph theory: from colourings to vertex identication

On some problems in graph theory: from colourings to vertex identication On some problems in graph theory: from colourings to vertex identication F. Foucaud 1 Joint works with: E. Guerrini 1,2, R. Klasing 1, A. Kosowski 1,3, M. Kov²e 1,2, R. Naserasr 1, A. Parreau 2, A. Raspaud

More information

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Graphs Extremely important concept in computer science Graph, : node (or vertex) set : edge set Simple graph: no self loops, no multiple

More information

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance. Algorithm Design Patterns and Anti-Patterns 8. NP and Computational Intractability Algorithm design patterns. Ex.! Greed. O(n log n) interval scheduling.! Divide-and-conquer. O(n log n) FFT.! Dynamic programming.

More information

Constraint Propagation: The Heart of Constraint Programming

Constraint Propagation: The Heart of Constraint Programming Constraint Propagation: The Heart of Constraint Programming Zeynep KIZILTAN Department of Computer Science University of Bologna Email: zeynep@cs.unibo.it URL: http://zeynep.web.cs.unibo.it/ What is it

More information

Graph Coloring Facets from a Constraint Programming Formulation

Graph Coloring Facets from a Constraint Programming Formulation Graph Coloring Facets from a Constraint Programming Formulation David Bergman J. N. Hooker Carnegie Mellon University INFORMS 2011 Motivation 0-1 variables often encode choices that can be represented

More information

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 20 Dr. Ted Ralphs IE406 Lecture 20 1 Reading for This Lecture Bertsimas Sections 10.1, 11.4 IE406 Lecture 20 2 Integer Linear Programming An integer

More information

18.S34 (FALL 2007) PROBLEMS ON HIDDEN INDEPENDENCE AND UNIFORMITY

18.S34 (FALL 2007) PROBLEMS ON HIDDEN INDEPENDENCE AND UNIFORMITY 18.S34 (FALL 2007) PROBLEMS ON HIDDEN INDEPENDENCE AND UNIFORMITY All the problems below (with the possible exception of the last one), when looked at the right way, can be solved by elegant arguments

More information

Graph Theory: Matchings and Factors

Graph Theory: Matchings and Factors Graph Theory: Matchings and Factors Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering, IIT Kharagpur pallab@cse.iitkgp.ernet.in Matchings A matching of size k in a graph G is a set of k

More information

LECTURES 3 and 4: Flows and Matchings

LECTURES 3 and 4: Flows and Matchings LECTURES 3 and 4: Flows and Matchings 1 Max Flow MAX FLOW (SP). Instance: Directed graph N = (V,A), two nodes s,t V, and capacities on the arcs c : A R +. A flow is a set of numbers on the arcs such that

More information

Figure 2.1: A bipartite graph.

Figure 2.1: A bipartite graph. Matching problems The dance-class problem. A group of boys and girls, with just as many boys as girls, want to dance together; hence, they have to be matched in couples. Each boy prefers to dance with

More information

by conservation of flow, hence the cancelation. Similarly, we have

by conservation of flow, hence the cancelation. Similarly, we have Chapter 13: Network Flows and Applications Network: directed graph with source S and target T. Non-negative edge weights represent capacities. Assume no edges into S or out of T. (If necessary, we can

More information

2. Lecture notes on non-bipartite matching

2. Lecture notes on non-bipartite matching Massachusetts Institute of Technology 18.433: Combinatorial Optimization Michel X. Goemans February 15th, 013. Lecture notes on non-bipartite matching Given a graph G = (V, E), we are interested in finding

More information

CS 441 Discrete Mathematics for CS Lecture 26. Graphs. CS 441 Discrete mathematics for CS. Final exam

CS 441 Discrete Mathematics for CS Lecture 26. Graphs. CS 441 Discrete mathematics for CS. Final exam CS 441 Discrete Mathematics for CS Lecture 26 Graphs Milos Hauskrecht milos@cs.pitt.edu 5329 Sennott Square Final exam Saturday, April 26, 2014 at 10:00-11:50am The same classroom as lectures The exam

More information

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University Graphs: Introduction Ali Shokoufandeh, Department of Computer Science, Drexel University Overview of this talk Introduction: Notations and Definitions Graphs and Modeling Algorithmic Graph Theory and Combinatorial

More information

8.1 Polynomial-Time Reductions

8.1 Polynomial-Time Reductions 8.1 Polynomial-Time Reductions Classify Problems According to Computational Requirements Q. Which problems will we be able to solve in practice? A working definition. Those with polynomial-time algorithms.

More information

Lagrangian Relaxation in CP

Lagrangian Relaxation in CP Lagrangian Relaxation in CP Willem-Jan van Hoeve CPAIOR 016 Master Class Overview 1. Motivation for using Lagrangian Relaxations in CP. Lagrangian-based domain filtering Example: Traveling Salesman Problem.

More information

Notes for Lecture 20

Notes for Lecture 20 U.C. Berkeley CS170: Intro to CS Theory Handout N20 Professor Luca Trevisan November 13, 2001 Notes for Lecture 20 1 Duality As it turns out, the max-flow min-cut theorem is a special case of a more general

More information

PLANAR GRAPH BIPARTIZATION IN LINEAR TIME

PLANAR GRAPH BIPARTIZATION IN LINEAR TIME PLANAR GRAPH BIPARTIZATION IN LINEAR TIME SAMUEL FIORINI, NADIA HARDY, BRUCE REED, AND ADRIAN VETTA Abstract. For each constant k, we present a linear time algorithm that, given a planar graph G, either

More information

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition. 18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

More information

arxiv: v2 [math.co] 13 Aug 2013

arxiv: v2 [math.co] 13 Aug 2013 Orthogonality and minimality in the homology of locally finite graphs Reinhard Diestel Julian Pott arxiv:1307.0728v2 [math.co] 13 Aug 2013 August 14, 2013 Abstract Given a finite set E, a subset D E (viewed

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

Introduction to Graphs

Introduction to Graphs Graphs Introduction to Graphs Graph Terminology Directed Graphs Special Graphs Graph Coloring Representing Graphs Connected Graphs Connected Component Reading (Epp s textbook) 10.1-10.3 1 Introduction

More information

10. EXTENDING TRACTABILITY

10. EXTENDING TRACTABILITY 0. EXTENDING TRACTABILITY finding small vertex covers solving NP-hard problems on trees circular arc coverings vertex cover in bipartite graphs Lecture slides by Kevin Wayne Copyright 005 Pearson-Addison

More information

Matching Theory. Figure 1: Is this graph bipartite?

Matching Theory. Figure 1: Is this graph bipartite? Matching Theory 1 Introduction A matching M of a graph is a subset of E such that no two edges in M share a vertex; edges which have this property are called independent edges. A matching M is said to

More information

Graphs and Algorithms 2015

Graphs and Algorithms 2015 Graphs and Algorithms 2015 Teachers: Nikhil Bansal and Jorn van der Pol Webpage: www.win.tue.nl/~nikhil/courses/2wo08 (for up to date information, links to reading material) Goal: Have fun with discrete

More information

1 Matchings in Graphs

1 Matchings in Graphs Matchings in Graphs J J 2 J 3 J 4 J 5 J J J 6 8 7 C C 2 C 3 C 4 C 5 C C 7 C 8 6 J J 2 J 3 J 4 J 5 J J J 6 8 7 C C 2 C 3 C 4 C 5 C C 7 C 8 6 Definition Two edges are called independent if they are not adjacent

More information

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics 400 lecture note #4 [Ch 6] Set Theory 1. Basic Concepts and Definitions 1) Basics Element: ; A is a set consisting of elements x which is in a/another set S such that P(x) is true. Empty set: notated {

More information

4. (a) Draw the Petersen graph. (b) Use Kuratowski s teorem to prove that the Petersen graph is non-planar.

4. (a) Draw the Petersen graph. (b) Use Kuratowski s teorem to prove that the Petersen graph is non-planar. UPPSALA UNIVERSITET Matematiska institutionen Anders Johansson Graph Theory Frist, KandMa, IT 010 10 1 Problem sheet 4 Exam questions Solve a subset of, say, four questions to the problem session on friday.

More information

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 2009) Lecture 10,11: General Matching Polytope, Maximum Flow Lecturer: Mohammad R Salavatipour Date: Oct 6 and 8, 2009 Scriber: Mohammad

More information

Maximum flows & Maximum Matchings

Maximum flows & Maximum Matchings Chapter 9 Maximum flows & Maximum Matchings This chapter analyzes flows and matchings. We will define flows and maximum flows and present an algorithm that solves the maximum flow problem. Then matchings

More information

Probe Distance-Hereditary Graphs

Probe Distance-Hereditary Graphs Proc. 16th Computing: The Australasian Theory Symposium (CATS 2010), Brisbane, Australia Probe Distance-Hereditary Graphs Maw-Shang Chang 1 Ling-Ju Hung 1 Peter Rossmanith 2 1 Department of Computer Science

More information

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance. Algorithm Design Patterns and Anti-Patterns Chapter 8 NP and Computational Intractability Algorithm design patterns. Ex.! Greed. O(n log n) interval scheduling.! Divide-and-conquer. O(n log n) FFT.! Dynamic

More information

Models of distributed computing: port numbering and local algorithms

Models of distributed computing: port numbering and local algorithms Models of distributed computing: port numbering and local algorithms Jukka Suomela Adaptive Computing Group Helsinki Institute for Information Technology HIIT University of Helsinki FMT seminar, 26 February

More information

Conflict Graphs for Combinatorial Optimization Problems

Conflict Graphs for Combinatorial Optimization Problems Conflict Graphs for Combinatorial Optimization Problems Ulrich Pferschy joint work with Andreas Darmann and Joachim Schauer University of Graz, Austria Introduction Combinatorial Optimization Problem CO

More information

Dissertation Title. Royal Holloway logo guidelines. Dissertation Subtitle. Stephen D. Wolthusen

Dissertation Title. Royal Holloway logo guidelines. Dissertation Subtitle. Stephen D. Wolthusen Dissertation Title Dissertation Subtitle Stephen D. Wolthusen Thesis submitted to the University of London for the degree of Doctor of Philosophy Royal Holloway logo guidelines 2012 Standard logo The logo

More information

Chordal Graphs: Theory and Algorithms

Chordal Graphs: Theory and Algorithms Chordal Graphs: Theory and Algorithms 1 Chordal graphs Chordal graph : Every cycle of four or more vertices has a chord in it, i.e. there is an edge between two non consecutive vertices of the cycle. Also

More information

Graph Theory. ICT Theory Excerpt from various sources by Robert Pergl

Graph Theory. ICT Theory Excerpt from various sources by Robert Pergl Graph Theory ICT Theory Excerpt from various sources by Robert Pergl What can graphs model? Cost of wiring electronic components together. Shortest route between two cities. Finding the shortest distance

More information

Lecture 7: Bipartite Matching

Lecture 7: Bipartite Matching Lecture 7: Bipartite Matching Bipartite matching Non-bipartite matching What is a Bipartite Matching? Let G=(N,A) be an unrestricted bipartite graph. A subset X of A is said to be a matching if no two

More information

Minimum Cost Edge Disjoint Paths

Minimum Cost Edge Disjoint Paths Minimum Cost Edge Disjoint Paths Theodor Mader 15.4.2008 1 Introduction Finding paths in networks and graphs constitutes an area of theoretical computer science which has been highly researched during

More information

MODELLING AND SOLVING SCHEDULING PROBLEMS USING CONSTRAINT PROGRAMMING

MODELLING AND SOLVING SCHEDULING PROBLEMS USING CONSTRAINT PROGRAMMING Roman Barták (Charles University in Prague, Czech Republic) MODELLING AND SOLVING SCHEDULING PROBLEMS USING CONSTRAINT PROGRAMMING Two worlds planning vs. scheduling planning is about finding activities

More information

Approximation Algorithms

Approximation Algorithms 18.433 Combinatorial Optimization Approximation Algorithms November 20,25 Lecturer: Santosh Vempala 1 Approximation Algorithms Any known algorithm that finds the solution to an NP-hard optimization problem

More information

2 Review of Set Theory

2 Review of Set Theory 2 Review of Set Theory Example 2.1. Let Ω = {1, 2, 3, 4, 5, 6} 2.2. Venn diagram is very useful in set theory. It is often used to portray relationships between sets. Many identities can be read out simply

More information

Sparse Linear Systems

Sparse Linear Systems 1 Sparse Linear Systems Rob H. Bisseling Mathematical Institute, Utrecht University Course Introduction Scientific Computing February 22, 2018 2 Outline Iterative solution methods 3 A perfect bipartite

More information

Domination, Independence and Other Numbers Associated With the Intersection Graph of a Set of Half-planes

Domination, Independence and Other Numbers Associated With the Intersection Graph of a Set of Half-planes Domination, Independence and Other Numbers Associated With the Intersection Graph of a Set of Half-planes Leonor Aquino-Ruivivar Mathematics Department, De La Salle University Leonorruivivar@dlsueduph

More information

Sorting With Forbidden Intermediates

Sorting With Forbidden Intermediates 1 Sorting With Forbidden Intermediates Carlo Comin Anthony Labarre Romeo Rizzi Stéphane Vialette February 15th, 2016 Genome rearrangements for permutations Permutations model genomes with the same contents

More information

Lecture 22 Tuesday, April 10

Lecture 22 Tuesday, April 10 CIS 160 - Spring 2018 (instructor Val Tannen) Lecture 22 Tuesday, April 10 GRAPH THEORY Directed Graphs Directed graphs (a.k.a. digraphs) are an important mathematical modeling tool in Computer Science,

More information

Outline. 1 The matching problem. 2 The Chinese Postman Problem

Outline. 1 The matching problem. 2 The Chinese Postman Problem Outline The matching problem Maximum-cardinality matchings in bipartite graphs Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm 2 Let G = (V, E) be an undirected graph.

More information

Notation Index 9 (there exists) Fn-4 8 (for all) Fn-4 3 (such that) Fn-4 B n (Bell numbers) CL-25 s ο t (equivalence relation) GT-4 n k (binomial coef

Notation Index 9 (there exists) Fn-4 8 (for all) Fn-4 3 (such that) Fn-4 B n (Bell numbers) CL-25 s ο t (equivalence relation) GT-4 n k (binomial coef Notation 9 (there exists) Fn-4 8 (for all) Fn-4 3 (such that) Fn-4 B n (Bell numbers) CL-25 s ο t (equivalence relation) GT-4 n k (binomial coefficient) CL-14 (multinomial coefficient) CL-18 n m 1 ;m 2

More information

Chapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 Algorithm Design Patterns and Anti-Patterns Algorithm design patterns.

More information

4.1 Interval Scheduling

4.1 Interval Scheduling 41 Interval Scheduling Interval Scheduling Interval scheduling Job j starts at s j and finishes at f j Two jobs compatible if they don't overlap Goal: find maximum subset of mutually compatible jobs a

More information

Integer and Combinatorial Optimization: Clustering Problems

Integer and Combinatorial Optimization: Clustering Problems Integer and Combinatorial Optimization: Clustering Problems John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 12180 USA February 2019 Mitchell Clustering Problems 1 / 14 Clustering Clustering

More information

Combinatorial Optimization Lab No. 10 Traveling Salesman Problem

Combinatorial Optimization Lab No. 10 Traveling Salesman Problem Combinatorial Optimization Lab No. 10 Traveling Salesman Problem Industrial Informatics Research Center http://industrialinformatics.cz/ May 29, 2018 Abstract In this lab we review various ways how to

More information

Endomorphisms and synchronization, 2: Graphs and transformation monoids. Peter J. Cameron

Endomorphisms and synchronization, 2: Graphs and transformation monoids. Peter J. Cameron Endomorphisms and synchronization, 2: Graphs and transformation monoids Peter J. Cameron BIRS, November 2014 Relations and algebras From algebras to relations Given a relational structure R, there are

More information

ON THE STRUCTURE OF SELF-COMPLEMENTARY GRAPHS ROBERT MOLINA DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE ALMA COLLEGE ABSTRACT

ON THE STRUCTURE OF SELF-COMPLEMENTARY GRAPHS ROBERT MOLINA DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE ALMA COLLEGE ABSTRACT ON THE STRUCTURE OF SELF-COMPLEMENTARY GRAPHS ROBERT MOLINA DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE ALMA COLLEGE ABSTRACT A graph G is self complementary if it is isomorphic to its complement G.

More information

V10 Metabolic networks - Graph connectivity

V10 Metabolic networks - Graph connectivity V10 Metabolic networks - Graph connectivity Graph connectivity is related to analyzing biological networks for - finding cliques - edge betweenness - modular decomposition that have been or will be covered

More information

On some extremal problems on identifying codes in (di)graphs

On some extremal problems on identifying codes in (di)graphs On some extremal problems on identifying codes in (di)graphs F. Foucaud 1 Joint works with: E. Guerrini 1,2, R. Klasing 1, A. Kosowski 1,3, M. Kov²e 1,2, R. Naserasr 1, A. Parreau 2, A. Raspaud 1, P. Valicov

More information

Explaining the cumulative propagator

Explaining the cumulative propagator Constraints (2011) 16:250 282 DOI 10.1007/s10601-010-9103-2 Explaining the cumulative propagator Andreas Schutt Thibaut Feydy Peter J. Stuckey Mark G. Wallace Published online: 27 August 2010 Springer

More information

GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS. March 3, 2016

GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS. March 3, 2016 GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS ZOÉ HAMEL March 3, 2016 1. Introduction Let G = (V (G), E(G)) be a graph G (loops and multiple edges not allowed) on the set of vertices V (G) and the set

More information

Endomorphisms and synchronization, 2: Graphs and transformation monoids

Endomorphisms and synchronization, 2: Graphs and transformation monoids Endomorphisms and synchronization, 2: Graphs and transformation monoids Peter J. Cameron BIRS, November 2014 Relations and algebras Given a relational structure R, there are several similar ways to produce

More information

Linear Programming Motivation

Linear Programming Motivation Linear Programming Motivation CS 9 Staff September, 00 The slides define a combinatorial optimization problem as: Given a set of variables, each associated with a value domain, and given constraints over

More information

Mathematics for Decision Making: An Introduction. Lecture 4

Mathematics for Decision Making: An Introduction. Lecture 4 Mathematics for Decision Making: An Introduction Lecture 4 Matthias Köppe UC Davis, Mathematics January 15, 2009 4 1 Modeling the TSP as a standard optimization problem, I A key observation is that every

More information

Network Design and Optimization course

Network Design and Optimization course Effective maximum flow algorithms Modeling with flows Network Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli

More information

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem L. De Giovanni M. Di Summa The Traveling Salesman Problem (TSP) is an optimization problem on a directed

More information

Branch-price-and-cut for vehicle routing. Guy Desaulniers

Branch-price-and-cut for vehicle routing. Guy Desaulniers Guy Desaulniers Professor, Polytechnique Montréal, Canada Director, GERAD, Canada VeRoLog PhD School 2018 Cagliari, Italy, June 2, 2018 Outline 1 VRPTW definition 2 Mathematical formulations Arc-flow formulation

More information