# Integer programming solutions for graph problems In this

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: people A

B C 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 people A B C

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}: sum{(i,j) in arcs} assign[i,j] <= 1; 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 doesnt 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 data; set colors:= blue red green; set nodes:= A B C D E F; set arcs:= AB BC CD DE EA C F; The AMPL output for the data set 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 10 11 12 13 14 15 16 17 18 19

20 21 "assign['C','blue']" 0.5 "assign['C','red']" 0.5 "assign['C','green']" 0 "assign['D','blue']" 0.5 "assign['D','red']" 0.5 "assign['D','green']" 0 "assign['E','blue']" 0.5 "assign['E','red']" 0.5 "assign['E','green']" 0 "assign['F','blue']" 0.5 "assign['F','red']" 0.5 "assign['F','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)

## Recently Viewed Presentations

• Plate Tectonics and the cycling of Earth materials Plate tectonics drives the rock cycle: the movement of rocks (and the minerals that comprise them, and the chemical elements that comprise them) from one reservoir to another I,M.S rocks are "reservoirs"...
• Young's Modulus Shear Modulus Bulk Modulus ... all the forces and their directions and locations Draw a free-body diagram with forces indicated on it Write down vector force equation for each x and y component with proper signs Select a...
• Challenginh Scenario for Attest Function. Audit is exclussive Domain of CA. Increased Regulatory setup -NFRA. Non cooperation of Client-resulted mass resignations by top brass audit firm . Negative approach of Beauracrats and Politicians. Public perception is misguided. Colossal Frauds detected...
• What's New and What's Coming in the Microsoft Outlook Family of Apps . JJ Cadiz, Alessio Roic, Madhuri Tondepu, Program Management. Allen Filush, Product Marketing
• Introduction. Le changement climatique est une réalité incontournable qui crée des impacts négatifs pervers : pénurie d'eau, inondations, crues, vagues de chaleur coulée boueuse, glissement de terrain, montée u niveau de la mer avec perte substantielle de la biodiversité et...
• Le CANFORGEN 049/19, publiée le 11 avr 2019 est une modification provisoire à la politique du DOAD 5019, Inconduite sexuelle et troubles sexuels, et définit l'inconduite sexuelle.La DOAD 5019-5est antérieure à l'OpHONOUR et une nouvelle version n'a pas encore été...
• , MacDonald, MacLean, McKensie, McDermott, … If the hash uses, say, first 3 chars, then they all are going to 2 or 3 cells. For any hash . fn, we can make data to cause such clusters. No hash ....
• During the seventh month of pregnancy Hindu first time mums engage in the "GodhBharna" celebration. At the celebration the mother and mother-in-law of the mum-to-be fill her sari with items symbolising good omens like a coconut marked with a red...