Graph Coloring Facets from a Constraint Programming Formulation

Similar documents
5.3 Cutting plane methods and Gomory fractional cuts

Towards Efficient Higher-Order Semidefinite Relaxations for Max-Cut

Propagating Separable Equalities. in an MDD Store. Peter Tiedemann INFORMS John Hooker. Tarik Hadzic. Cork Constraint Computation Centre

Integer Programming Theory

Discrete Optimization with Decision Diagrams

LATIN SQUARES AND THEIR APPLICATION TO THE FEASIBLE SET FOR ASSIGNMENT PROBLEMS

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs

From final point cuts to!-polyhedral cuts

Fundamentals of Integer Programming

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

Integer Programming as Projection

Assignment 4 Solutions of graph problems

1. Lecture notes on bipartite matching February 4th,

Constraint Satisfaction Problems. slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe

val(y, I) α (9.0.2) α (9.0.3)

Lecture 3: Totally Unimodularity and Network Flows

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

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh

Decomposition in Integer Linear Programming

Constraint Satisfaction Problems

COMP331/557. Chapter 2: The Geometry of Linear Programming. (Bertsimas & Tsitsiklis, Chapter 2)

Index. optimal package assignments, 143 optimal package assignments, symmetrybreaking,

Lecture outline. Graph coloring Examples Applications Algorithms

Rigidity, connectivity and graph decompositions

Theorem 2.9: nearest addition algorithm

What is Search For? CS 188: Artificial Intelligence. Constraint Satisfaction Problems

Combinatorial Optimization

Math 5593 Linear Programming Lecture Notes

Decomposition in Integer Linear Programming

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem

Solutions to Assignment# 4

Research Question Presentation on the Edge Clique Covers of a Complete Multipartite Graph. Nechama Florans. Mentor: Dr. Boram Park

Algorithms for Decision Support. Integer linear programming models

The ILP approach to the layered graph drawing. Ago Kuusik

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

Stable sets, corner polyhedra and the Chvátal closure

CS 343: Artificial Intelligence

15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018

Decomposition and Dynamic Cut Generation in Integer Linear Programming

GRAPH THEORY and APPLICATIONS. Factorization Domination Indepence Clique

TR/03/94 March 1994 ZERO-ONE IP PROBLEMS: POLYHEDRAL DESCRIPTIONS AND CUTTING PLANE PROCEDURES. Fatimah Abdul-Hamid Gautam Mitra Leslie-Ann Yarrow

Lagrangian Relaxation in CP

CS 188: Artificial Intelligence. What is Search For? Constraint Satisfaction Problems. Constraint Satisfaction Problems

6. Lecture notes on matroid intersection

Let G = (V, E) be a graph. If u, v V, then u is adjacent to v if {u, v} E. We also use the notation u v to denote that u is adjacent to v.

1. Lecture notes on bipartite matching

Mathematics for Decision Making: An Introduction. Lecture 4

Mathematical and Algorithmic Foundations Linear Programming and Matchings

3 No-Wait Job Shops with Variable Processing Times

Small Survey on Perfect Graphs

NETWORK SURVIVABILITY AND POLYHEDRAL ANALYSIS

1 Matching in Non-Bipartite Graphs

Lecture 3. Brute Force

Graph Coloring via Constraint Programming-based Column Generation

Finite Math Linear Programming 1 May / 7

Chapter 15 Introduction to Linear Programming

An SDP Approach to Multi-level Crossing Minimization

ACTUALLY DOING IT : an Introduction to Polyhedral Computation

Target Cuts from Relaxed Decision Diagrams

5 MST and Greedy Algorithms

Notes for Recitation 9

maximize c, x subject to Ax b,

Simplicial Global Optimization

Mathematical Programming Formulations, Constraint Programming

Announcements. Homework 1: Search. Project 1: Search. Midterm date and time has been set:

Using the OPTMODEL Procedure in SAS/OR to Solve Complex Problems. Rob Pratt, Senior R&D Manager, SAS/OR

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

Combinatorial Geometry & Topology arising in Game Theory and Optimization

CS 188: Artificial Intelligence Fall 2011

Coping with the Limitations of Algorithm Power Exact Solution Strategies Backtracking Backtracking : A Scenario

5 MST and Greedy Algorithms

W[1]-hardness. Dániel Marx. Recent Advances in Parameterized Complexity Tel Aviv, Israel, December 3, 2017

Cutting Planes for Some Nonconvex Combinatorial Optimization Problems

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms

Decision Problems. Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not.

11.1. Definitions. 11. Domination in Graphs

Computation of the Constrained Infinite Time Linear Quadratic Optimal Control Problem

INTRODUCTION TO THE HOMOLOGY GROUPS OF COMPLEXES

Lecture 2 - Introduction to Polytopes

Traveling Salesperson Problem (TSP)

Applied Integer Programming

Algorithm Design and Analysis

Dynamic programming. Trivial problems are solved first More complex solutions are composed from the simpler solutions already computed

Euler and Hamilton paths. Jorge A. Cobb The University of Texas at Dallas

Approximation Algorithms

Large-Scale Optimization and Logical Inference

Chapter 10 Part 1: Reduction

Finding 2-Factors Closer to TSP in Cubic Graphs

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

Announcements. CS 188: Artificial Intelligence Fall 2010

Binary Positive Semidefinite Matrices and Associated Integer Polytopes

The Edge Fixing Edge-To-Vertex Monophonic Number Of A Graph

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)

The Structure of Bull-Free Perfect Graphs

CS671 Parallel Programming in the Many-Core Era

Lecture 14: Linear Programming II

Decomposition and Dynamic Cut Generation in Integer Linear Programming

Transcription:

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 with finite domain variables. x i = finite domain variable Job assigned to worker i Start time of job i City visited after city i Number of packages on truck i y ij = corresponding 0-1 variable y ij = 1 if x i = j

Motivation A constraint programming formulation often uses finite-domain variables. If the variables are numeric, the problem has polyhedral structure very different from the 0-1 problem. Finite-domain cuts can be mapped into the 0-1 model. This may yield stronger cuts in the 0-1 model.

Motivation A constraint programming formulation often uses finite-domain variables. If the variables are numeric, the problem has polyhedral structure very different from the 0-1 problem. Finite-domain cuts can be mapped into the 0-1 model. This may yield stronger cuts in the 0-1 model. We apply this idea to graph coloring. May apply to other problems with both 0-1 and CP formulations.

Motivation We obtain two kinds of results: If you find a structure (e.g., odd hole) that yields a known valid inequality in 0-1 space We will give you a stronger cut for free. Use whatever separation algorithm you want.

Motivation We obtain two kinds of results: If you find a structure (e.g., odd hole) that yields a known valid inequality in 0-1 space We will give you a stronger cut for free. Use whatever separation algorithm you want. We identify additional structures that yield valid inequalities. They are stronger than known cuts. We have separation algorithms.

Graph Coloring We focus on the vertex coloring problem. Given a graph, assign colors to vertices so that no two adjacent vertices receive the same color. Minimize the number of colors. 2 3 1 4 5

Graph Coloring = 1 if color j is used 0-1 model 2 3 1 5 4 min j ij j y + y w, all colors j 1j 2 j j y + y w, all colors j 1j 5 j j y + y w, all colors j 2 j 3 j j y + y + y w, all colors j y 3 j 4 j 5 j j ij y w { 0,1} j = 1, all vertices i = 1 if vertex i receives color j

Graph Coloring General model: min j i V y ij k y ij j w j = 1, all vertices y w, all colors j, cliques V that cover vertices ij j k { 0,1} = 1 if vertex i receives color j = 1 if color j is used i O(n 2 ) variables O(n 3 ) constraints

Alldiff Systems Use an all-different constraint for each clique. 1 2 3 5 4 min z x, all vertices i i ( x1 x2 ) ( x1 x5 ) ( 2 3 ) ( 3 4 5 ) { 1,...,5 } alldiff,, all colors alldiff,, all colors alldiff x, x, all colors j alldiff x, x, x, all colors j x i z = color assigned to vertex i j j

Alldiff Systems General model: min z z x, all vertices i i ( ) { 1,, n} alldiff x i V, all cliques V x i i k k = color assigned to vertex i O(n) variables O(n 2 ) constraints Objective reduces symmetry

Alldiff Systems Applications: Scheduling, timetabling. Employee scheduling. Course timetabling. Latin squares. Alldiff for each row, column. Experimental design: orthogonal Latin squares. Sudoku puzzles. Graph coloring. Many applications.

Related Work Convex hull of single alldiff. Hooker (2000), Williams and Yan (2001). Convex hull of 2 alldiffs. Appa, Magos and Mourtos (2004) Convex hull of alldiff systems with inclusion property. Appa, Magos and Mourtos (2011). Same facets as individual alldiffs. Some facets of systems without inclusion property. Magos and Mourtos (2011).

Variable Mapping There is a linear mapping from x i to y ij : x i = Any valid linear inequality in x i -space maps to a valid linear inequality in y ij -space. Just substitute above expression for x i. j Convert any finite domain cut to a 0-1 cut. jy ij

Variable Mapping There is a linear mapping from x i to y ij : x i = Any valid linear inequality in x i -space maps to a valid linear inequality in y ij -space. Just substitute above expression for x i. j Convert any finite domain cut to a 0-1 cut. jy Objective function more likely to be linear in y-space. ij For coloring, it is linear in both x-space and y-space.

Choice of Domain We will assume each x i has domain {0,, n 1}. To simplify exposition. Most results to follow can be generalized to an arbitrary numeric domain {v 1,, v n } with each v i 0. Some results are valid for domain D = {0,δ,, (n 1)δ} with δ > 0.

Odd Cycles A q-cycle consists of q alldiff constraints that look like this: alldiff x 1 x 2 x 11 alldiff x 17 x 10 x 9 x 3 x 4 x 12 alldiff x 16 x 8 x 13 alldiff x 15 x 7 x 14 alldiff x 6 x 5

Odd Cycles Select any subset of s vertices in each overlap: s = 2 S 1 x 1 x 2 x 11 S 5 x 17 x 10 x 9 x 3 x 4 x 12 x 16 S x 2 13 x 8 x 15 x 7 S 4 x 14 x 6 x 5 S 3

Odd Cycles Focus on the sets S i : S 1 s = 2 q = 5 S 5 x 10 x 9 x 1 x 2 x 3 x 4 S 2 S 4 x 8 x 7 sq = 10 vertices Each color can be assigned to at most (q 1)/2 = 2 vertices. x 6 x 5 S 3 sq We need at least L = = 5 colors ( q 1) / 2

So i S Focus on the sets S i : x i s = 2 q = 5 q 1 q 1 0 + 1+ 2 2 sq = 10 vertices Each color can be assigned to at most (q 1)/2 = 2 vertices. S = k S Odd Cycles q 1 q 1 + ( L 2) + sq ( L 1) ( L 1) 2 2 k S 5 x 10 x 9 S 4 x 8 x 7 x 1 S 1 x 2 x 6 x 5 x 3 x 4 S 3 sq We need at least L = = 5 colors ( q 1) / 2 S 2

Odd Cycles Focus on the sets S i : S 1 So i S x i s = 2 q = 5 S = q 1 q 1 0 + 1+ 2 2 k S q 1 q 1 + ( L 2) + sq ( L 1) ( L 1) 2 2 q 1 = sq L ( L 1) = 20 4 k S 5 x 10 x 9 S 4 x 8 x 7 x 1 x 2 x 6 x 5 x 3 x 4 S 3 S 2

Odd Cycles So we have a valid inequality: i S q 1 xi sq L ( L 1) = 20 4 4 3 x 10 x 9 0 x 1 1 x 2 x 3 x 4 2 3 2 1 x 8 x 7 x 6 x 5 0 4

Odd Cycles So we have a valid inequality: i S q 1 xi sq L ( L 1) = 20 4 The inequality is facetdefining if q is odd. and if the q-cycle is the subgraph induced by vertices in the cycle. 4 3 x 10 x 9 2 1 x 8 x 7 0 x 1 1 x 2 x 3 x 4 x x 5 6 4 0 2 3

Odd Cycles So we have a valid inequality: i S q 1 xi sq L ( L 1) = 20 4 The inequality is facetdefining if q is odd. and if the q-cycle is the subgraph induced by vertices in the cycle. For s = 1, we have odd hole cut: q + 3 xi 2 i S 4 3 x 10 x 9 2 1 x 8 x 7 0 x 1 1 x 2 x 3 x 4 x x 5 6 4 0 2 3

Odd Cycles So we have a valid inequality: i S q 1 xi sq L ( L 1) = 20 4 We can obtain a valid bound on number of colors z by substituting z x i for x i : 4 3 x 10 x 9 x 8 x 7 0 x 1 1 x 2 x 3 x 4 2 3 1 q 1 x x 5 z x 1 ( 1) 6 i + L L 2 qs 4 4 i S qs 1 0 1 = xi + 2 10 This is facet defining for domain D. i S

z-cuts in general In fact, facet-defining x-cuts for a graph coloring problem always give rise to facet-defining z-cuts: Theorem: if ax b is facet defining for a coloring problem with domain D = {0, δ, 2δ,, (n 1)δ} for δ > 0, then aez ax + b is also facet defining, where e = (1,, 1).

Mapping into 0-1 Space The x-cut i S q 1 xi sq L ( L 1) = 20 4 and the z-cut 1 q 1 z xi + 1 L ( L 1) qs i S 4qs 4 3 x 10 x 9 0 x 1 1 x 2 x 3 x 4 2 3 map into a 0-1 cut by replacing x i with jy How do they compare with classical odd hole cuts? j ij 2 1 x 8 x 7 x x 5 6 0 4

Comparison with Odd Hole Cuts A q-cycle defines s q = 32 odd hole cuts for each color: q 1 yij w j, all T, j 2 i T where T selects one vertex from each S k S 5 x 10 x 9 x 1 S 1 x 2 x 3 x 4 S 2 S 4 x 8 x 7 x 6 x 5 S 3

Comparison with Odd Hole Cuts A q-cycle defines s q = 32 odd hole cuts for each color: q 1 yij w j, all T, j 2 i T where T selects one vertex from each S k For s 2, one x-cut is stronger than all of these odd hole cuts. S 5 x 10 x 9 S 4 For s = 1, the finite domain cut is redundant of odd cycle cuts and other 0-1 constraints. x 8 x 7 x 1 S 1 x 2 x 6 x 5 x 3 x 4 S 3 S 2

Comparison with Odd Hole Cuts A q-cycle defines s q = 32 odd hole cuts for each color: q 1 yij w j, all T, j 2 i T where T selects one vertex from each S k For s 2, one x-cut is stronger than all of these odd hole cuts. Adding a z-cut to the x-cut tightens the bound further. S 5 x 10 x 9 S 4 x 8 x 7 x 1 S 1 x 2 x 6 x 5 x 3 x 4 S 3 S 2

Comparison with Odd Hole Cuts A q-cycle defines s q = 32 odd hole cuts for each color: q 1 yij w j, all T, j 2 i T where T selects one vertex from each S k For any s (including s = 1), one x-cut and one z-cut are stronger than all of these odd hole cuts. S 5 x 10 x 9 S 4 x 8 x 7 x 1 S 1 x 2 x 6 x 5 x 3 x 4 S 3 S 2

Comparison with Odd Hole Cuts A q-cycle defines s q = 32 odd hole cuts for each color: q 1 yij w j, all T, j 2 i T where T selects one vertex from each S k For any s (including s = 1), one x-cut and one z-cut are stronger than all of these odd hole cuts. x 10 x 9 x 8 x 7 For any separating odd hole cut, replace it with x-cut and z-cut for s = 1 to get a stronger cut. S 5 S 4 x 1 S 1 x 2 x 6 x 5 x 3 x 4 S 3 S 2

Computed Bounds Lower bound on number of colors in 0-1 model of 5-cycle s = 1 2 3 All odd hole cuts 0.8 1.5 2.500 x-cut only 0.8 2.0 3.267 z-cut only 1.3 3.5 5.767 x and z-cut only 1.6 4.0 6.533

Separation Heuristic Select subset of s vertices in each overlap with smallest values in current relaxation: s = 2 S 1 x 1 x 2 x 11 S 5 x 17 x 10 x 9 x 3 x 4 x 12 x 16 S x 2 13 x 8 x 15 x 7 S 4 x 14 x 6 x 5 S 3

A q-path looks like Odd Paths alldiff alldiff alldiff alldiff alldiff x a x 1 x 2 x 3 x 4 x b q = 5 x 5 x 6 x 7 x 7

Select q + 1 variables: Odd Paths x a x 1 x 2 x 3 x 4 x b q = 5 x 5 x 6 x 7 x 7

Odd Paths This yields a valid inequality (x-cut) x a x 1 x 2 x 3 x 4 x b q = 5 0 1 0 1 0 1 0 1 0 1 2 0 q 1 q + 3 2( x + x ) + x = 4 2 a b i i = 1

Odd Paths This yields a valid inequality (x-cut): x a x 1 x 2 x 3 x 4 x b q = 5 0 1 0 1 0 1 0 1 0 1 2 0 q 1 q + 3 2( xa + xb ) + xi = 4 i = 1 2 The inequality is facet-defining if q is odd. and if the q-path is the subgraph induced by vertices in the cycle.

We also have a z-cut Odd Paths x a x 1 x 2 x 3 x 4 x b q = 5 0 1 0 1 0 1 0 1 0 1 2 0 z x + x + x + q + q 1 1 1 2( ) 3 a b i i = 1 2 This is also facet defining.

Mapping into 0-1 Space When mapped into 0-1 space, the finite domain cuts are redundant of the 0-1 model. Because the 0-1 model is already totally unimodular. This is also facet defining.

Mapping into 0-1 Space When mapped into 0-1 space, the finite domain cuts are redundant of the 0-1 model. Because the 0-1 model is already totally unimodular. However, the finite domain cuts provide a compact relaxation. For each q-path, replace q clique constraints with one x-cut and one y-cut. Gives the same bound in a problem consisting of one path.

Clutters A q-clutter looks something like V 2 S 3 S 1 T 2 T 3 U S 2 V 3 S = V \ V k l k T = V \ V k U = k k V k l l k k l T 1 q = 3 V 1

Clutters Facet-defining inequality. Let S = S T T u = U k k = k k V 2 q = 3 S 1 T 2 T 3 U S 3 T 1 V 1 S 2 V 3 q( q 1) qs + u xi + xi b 2 ( ) A valid inequality is: i T i S U where 1 b = q q 2 qs + u qs + u + ( 1)( )( 1) Properties of 0-1 mapping?

Another Interpretation Combine alternate formulations to obtain a better relaxation. Often done in constraint programming to obtain better propagation. x i = job assigned to worker i y j = worker assigned to job j Write each constraint in one or both variable systems. Add channeling constraints: x = j, all j y j y = i, all i x i

Another Interpretation We are doing the same with relaxations. x relaxation y relaxation min z z x, all i i i q 1 xi sq L L 4 ( 1) 1 q 1 z xi + 1 L L 1 qs i 4qs ( ) x i = j jy ij min j i V k y ij = 1, all i y w, all j, V 0 y 1 j j ij j k ij w channeling constraint

Another Interpretation Neither relaxation alone provides a good bound. 5-cycle problem with s = 2 Bound Odd hole cuts in y-relaxation 1.5 Finite domain cuts in x-relaxation 2.6 Combined models 4.0

Future Work Map other known finite-domain cuts into 0-1 models. What happens? Cardinality rules. Yan and Hooker (1999). Circuit constraint (TSP). Genc-Kaya and Hooker (2010). Cumulative constraint. Polyhedral analysis for other global constraints. General cardinality, nvalues, sequence, regular.

General Issues When do linked multiple relaxations provide better bounds than one relaxation? Can we say anything about the properties of different variable encodings? What are variables, and why do we use them?