Integer programming solutions for graph problems

Slides:



Advertisements
Similar presentations
Chapter 9 Graphs.
Advertisements

22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3.
Totally Unimodular Matrices
Introduction to Algorithms
Management Science 461 Lecture 6 – Network Flow Problems October 21, 2008.
Modeling problems with Integer Linear Programming (ILP) Name: Chuan Huang.
Management Science 461 Lecture 2b – Shortest Paths September 16, 2008.
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
1 Representing Graphs. 2 Adjacency Matrix Suppose we have a graph G with n nodes. The adjacency matrix is the n x n matrix A=[a ij ] with: a ij = 1 if.
Applications of Maximum Flow and Minimum Cut Problems In this handout Transshipment problem Assignment Problem.
Math 308 Discrete Mathematics Discrete Mathematics deals with “Separated” or discrete sets of objects (rather than continuous sets) Processes with a sequence.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Computer Algorithms Integer Programming ECE 665 Professor Maciej Ciesielski By DFG.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Graph Colouring Lecture 20: Nov 25.
Utrecht, february 22, 2002 Applications of Tree Decompositions Stan van Hoesel KE-FdEWB Universiteit Maastricht
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
Coloring Graphs This handout: Coloring maps and graphs
Linear Programming – Max Flow – Min Cut Orgad Keller.
Linear Programming Applications
ECE669 L10: Graph Applications March 2, 2004 ECE 669 Parallel Computer Architecture Lecture 10 Graph Applications.
22C:19 Discrete Math Graphs Spring 2014 Sukumar Ghosh.
Graph Coloring.
Chapter 9.8 Graph Coloring
CS 2813 Discrete Structures
9.8 Graph Coloring. Coloring Goal: Pick as few colors as possible so that two adjacent regions never have the same color. See handout.
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
C&O 355 Mathematical Programming Fall 2010 Lecture 17 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A.
Hungarian Algorithm Vida Movahedi Elderlab, York University June 2007.
Graph Coloring.
Graph Theory Topics to be covered:
CS774. Markov Random Field : Theory and Application Lecture 13 Kyomin Jung KAIST Oct
1 1 Slide Transportation, Assignment, and Transshipment Professor Ahmadi.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
Graph Coloring Solution in a Deterministic Machine The deterministic solution to coloring problem uses these steps to assign colors to vertices: 1- Given.
ساختمانهای گسسته دانشگاه صنعتی شاهرود – فروردین 1392.
C&O 355 Mathematical Programming Fall 2010 Lecture 18 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A.
WOOD 492 MODELLING FOR DECISION SUPPORT
Sports Scheduling Written by Kelly Easton, George Nemhauser, Michael Trick Presented by Matthew Lai.
Linear Programming Problem. Definition A linear programming problem is the problem of optimizing (maximizing or minimizing) a linear function (a function.
Spectral Analysis based on the Adjacency Matrix of Network Data Leting Wu Fall 2009.
Graphing Quadratic Equations
Planar Graphs Graph Coloring
Chapter 10.8 Graph Coloring
Graph.
1.5 Graph Theory. Graph Theory The Branch of mathematics in which graphs and networks are used to solve problems.
Graph Colouring Lecture 20: Nov 25. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including.
Maximum Flow Chapter 26. Flow Concepts Source vertex s – where material is produced Sink vertex t – where material is consumed For all other vertices.
Updated 21 April2008 Linear Programs with Totally Unimodular Matrices.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
Data Structures & Algorithms Graphs Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
Graphs. Graph Definitions A graph G is denoted by G = (V, E) where  V is the set of vertices or nodes of the graph  E is the set of edges or arcs connecting.
Chapter 10.8 Graph Coloring These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7 th ed., by Kenneth.
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Approximation Algorithms Duality My T. UF.
Map Coloring Vertex Drawing Txt: mini excursion 2 (p ) & SOL: DM.1 Classwork Project Assigned due in two blocks (print the rubric at the end of.
Timetable Problem solving using Graph Coloring
Maximum Flow Chapter 26.
Proof Techniques and Chessboard Problems
The assignment problem
Chapter 10.8 Graph Coloring
Coloring Graphs This handout: Coloring maps and graphs
Chapter 10.8 Graph Coloring
Chapter 10.8 Graph Coloring
Kramer’s (a.k.a Cramer’s) Rule
Graph Coloring.
Chapter 10.8 Graph Coloring
LINEARPROGRAMMING 4/26/2019 9:23 AM 4/26/2019 9:23 AM 1.
Chapter 9 Graph algorithms
Presentation transcript:

Integer programming solutions for graph problems In this handout Assignment Problem Coloring Problem

Assignment Problem Given: n people and n jobs Each person can be assigned to exactly one job Each job should be assigned to exactly one person Person-job compatibility is given by a directed network (e.g., having a link A  x means “person A can do job x ”) Goal: Find an assignment of n jobs to n people (if such an assignment exists). Example: A C B people D E jobs x y z u v

Maximum Assignment Problem Consider the example given by the graph below. Jobs (u, v, w) can be done by only 2 people (E, F) ; thus, one of the three jobs will be unassigned. When the original assignment problem is infeasible we can consider a variation of the problem where the goal is to maximize the number of assigned jobs (or people). In the example below, the maximum number of assignments is 5: A-x, B-y, C-z, E-u, F-v A C B people D E F jobs x y z u v w

Solving Maximum Assignment problem by integer programming set students; set projects; set arcs within students cross projects; var assign{(i,j) in arcs} binary; # is 1 if student i is assigned to project j, 0 otherwise maximize total_assignments: sum{(i,j) in arcs} assign[i,j]; s.t. at_most_one_project_for_each_student{i in students}: sum{(i,j) in arcs} assign[i,j] <= 1; s.t. at_most_one_student_for_each_project{j in projects}:

Integer program for maximum assignment problem Suppose the constraints of the integer program are written in matrix form Ax ≤ B. Note that all the entries in A are 0 or 1. It can be shown that A is totally unimodular, that is, every square nonsingular submatrix has determinant 1 or -1. As a result of that property, the integer program for Maximum Assignment Problem has the following feature: All CPF solutions of LP-relaxation are integral. Thus, the optimal solution of LP-relaxation is also optimal solution for the original IP. Note that generally having entries 0, 1, -1 doesn’t guarantee that A is totally unimodular (see Coloring Problem).

Coloring maps Color a map such that two regions with a common border are assigned different colors. Each map can be represented by a graph: Each region of the map is represented by a vertex; Edges connect two vertices if the regions represented by these vertices have a common border. The resulting graph is called the dual graph of the map.

Coloring Graphs Definition: A graph has been colored if a color has been assigned to each vertex in such a way that adjacent vertices have different colors. Definition: The chromatic number of a graph is the smallest number of colors with which it can be colored. In the example above, the chromatic number is 4. Finding the chromatic number of a graph is a minimization problem.

Solving the Coloring problem by integer programming set colors; set nodes; set arcs within nodes cross nodes; var use{c in colors} binary; # is 1 if color c is used, 0 otherwise var assign{i in nodes, c in colors} binary; # is 1 if node i has color c, 0 otherwise minimize number_of_colors: sum{c in colors} use[c];

Solving the Coloring problem by integer programming (cont.) s.t. one_color_for_each_node{i in nodes}: sum{c in colors} assign[i,c] = 1; s.t. different_colors_for_adjacent_nodes {c in colors, i in nodes, j in nodes: (i,j) in arcs}: assign[i,c] + assign[j,c] <= 1; s.t. assign_only_chosen_colors{i in nodes, c in colors}: assign[i,c] <= use[c]; Note that all the entries in matrix A of functional constraints are 0, 1, -1. But in this case A is not totally unimodular.

Solving the integer program for a data set set colors:= blue red green; set nodes:= A B C D E F; set arcs:= A B B C C D D E E A C F;

The AMPL output for the data set 10 "assign['C','blue']" 0.5 11 "assign['C','red']" 0.5 12 "assign['C','green']" 0 13 "assign['D','blue']" 0.5 14 "assign['D','red']" 0.5 15 "assign['D','green']" 0 16 "assign['E','blue']" 0.5 17 "assign['E','red']" 0.5 18 "assign['E','green']" 0 19 "assign['F','blue']" 0.5 20 "assign['F','red']" 0.5 21 "assign['F','green']" 0 ; objective 1 var := 1 "use['blue']" 0.5 2 "use['red']" 0.5 3 "use['green']" 0 4 "assign['A','blue']" 0.5 5 "assign['A','red']" 0.5 6 "assign['A','green']" 0 7 "assign['B','blue']" 0.5 8 "assign['B','red']" 0.5 9 "assign['B','green']" 0 For this example, the LP-relaxation does not return integer solution.

An application of graph coloring in scheduling Twelve faculty members in a mathematics department serve on the following committees: Undergraduate education: Sineman, Limitson, Axiomus, Functionini Graduate Education: Graphian, Vectorades, Functionini, Infinitescu Colloquium: Lemmeau, Randomov, Proofizaki Library: Van Sum, Sineman, Lemmeau Staffing: Graphian, Randomov, Vectorades, Limitson Promotion: Vectorades, Van Sum, Parabolton The committees must all meet during the first week of classes, but there are only three time slots available. Find a schedule that will allow all faculty members to attend the meetings of all committees on which they serve. Model and solve the problem by graph coloring. (the solution on the board)