integer and combinatorial optimization: perfect...

26
Integer and Combinatorial Optimization: Perfect Graphs John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 12180 USA March 2019 Mitchell Perfect Graphs 1 / 14

Upload: others

Post on 30-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Integer and Combinatorial Optimization:Perfect Graphs

John E. Mitchell

Department of Mathematical SciencesRPI, Troy, NY 12180 USA

March 2019

Mitchell Perfect Graphs 1 / 14

Page 2: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Perfect graphs

See Nemhauser and Wolsey, section III.1.5, for more information.

DefinitionA graph G = (V ,E) is perfect if �(G) = !(G) for every inducedsubgraph G, where

�(G) = chromatic number of G= least number of colors needed to color the vertices

so no two adjacent vertices have the same color

!(G) = size of maximum clique of G

Note that every graph has �(G) � !(G), since every vertex in thelargest clique requires a different color.

Mitchell Perfect Graphs 2 / 14

Page 3: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

"⇐±÷..G

r a

X CGI(3w ( a ) = 3

Page 4: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Examples

Bipartite graphs

ExampleBipartite graphs are perfect:

1

2

3

4

5

�(G) = !(G) = 2

Mitchell Perfect Graphs 3 / 14

Page 5: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Examples

Complements of bipartite graphsExampleComplements of bipartite graphs are perfect:

1

2

3

4

5

�(G) = !(G) = 3

Mitchell Perfect Graphs 4 / 14

Page 6: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

G . I

÷ . . ÷⇐@1/61=161--2. x ( f )ea t#4

Page 7: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Examples

Odd holes

ExampleOdd holes are not perfect:

1

2

3

4

5

67

�(G) = 3, !(G) = 2

Mitchell Perfect Graphs 5 / 14

Page 8: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Examples

Odd anitholesExampleOdd antiholes are not perfect:

1

2

3

4

5

67

�(G) = 4, !(G) = 3Mitchell Perfect Graphs 6 / 14

B

R B

R G

4191=4 off.-z? G

Page 9: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Complement•

,i . o f f1 . 1 . .

alsoa cycleoflength 5 .

Page 10: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Packing LP

Complements of perfect graphs

A graph is perfect if and only if its complement is perfect.

A clique in a graph corresponds to a node packing in its complement.

A coloring in a graph corresponds to a clique cover in its complement;that is, a collection of cliques so that each vertex is in (at least) oneclique.

Mitchell Perfect Graphs 7 / 14

Page 11: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

@dive@ ¥§§\¥ f @ @I t @a§÷÷÷÷."

"÷::÷÷÷÷÷÷÷÷÷÷÷÷O'

''÷"

Page 12: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Packing LP

A packing LP

Consider the packing linear program:

maxx2Rn cT xsubject to Ax e

x � 0

where e is the vector of ones, and every entry in A is either 0 or 1. Weconstruct a graph:

Each column of A gives a node in a graph.Each row of A gives a clique in the graph. So if aij = aik = 1 thenvertices j and k are adjacent.

Mitchell Perfect Graphs 8 / 14

Page 13: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Packing LP

A packing LP

Consider the packing linear program:

maxx2Rn cT xsubject to Ax e

x � 0

where e is the vector of ones, and every entry in A is either 0 or 1. Weconstruct a graph:

Each column of A gives a node in a graph.Each row of A gives a clique in the graph. So if aij = aik = 1 thenvertices j and k are adjacent.

Mitchell Perfect Graphs 8 / 14

{Equivalentt o

g ¥ a node packingproblem.

Page 14: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Packing LP

Constructing a graph from a matrix

Each column of A gives a node in a graph.Each row of A gives a clique in the graph. So if aij = aik = 1 thenvertices j and k are adjacent.

For example:

A =

2

664

1 1 1 0 01 0 0 0 10 0 1 1 00 0 0 1 1

3

775

r s t u vr

st

u

v�(G) = !(G) = 3�(G) = !(G) = 2

Mitchell Perfect Graphs 9 / 14

Page 15: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Packing LP

Constructing a graph from a matrix

Each column of A gives a node in a graph.Each row of A gives a clique in the graph. So if aij = aik = 1 thenvertices j and k are adjacent.

For example:

A =

2

664

1 1 1 0 01 0 0 0 10 0 1 1 00 0 0 1 1

3

775

r s t u vr

st

u

v�(G) = !(G) = 3�(G) = !(G) = 2

Mitchell Perfect Graphs 9 / 14

Page 16: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Packing LP

Constructing a graph from a matrix

Each column of A gives a node in a graph.Each row of A gives a clique in the graph. So if aij = aik = 1 thenvertices j and k are adjacent.

For example:

A =

2

664

1 1 1 0 01 0 0 0 10 0 1 1 00 0 0 1 1

3

775

r s t u vr

st

u

v�(G) = !(G) = 3�(G) = !(G) = 2

Mitchell Perfect Graphs 9 / 14

Page 17: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Packing LP

Constructing a graph from a matrix

Each column of A gives a node in a graph.Each row of A gives a clique in the graph. So if aij = aik = 1 thenvertices j and k are adjacent.

For example:

A =

2

664

1 1 1 0 01 0 0 0 10 0 1 1 00 0 0 1 1

3

775

r s t u vr

st

u

v�(G) = !(G) = 3�(G) = !(G) = 2

Mitchell Perfect Graphs 9 / 14

Page 18: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Packing LP

Constructing a graph from a matrix

Each column of A gives a node in a graph.Each row of A gives a clique in the graph. So if aij = aik = 1 thenvertices j and k are adjacent.

For example:

A =

2

664

1 1 1 0 01 0 0 0 10 0 1 1 00 0 0 1 1

3

775

r s t u vr

st

u

v�(G) = !(G) = 3�(G) = !(G) = 2

Mitchell Perfect Graphs 9 / 14

Axel,!}xrtxstxc.clx , t X v E la -t x u E lx u t x u s I

Page 19: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

⑥ Complement:

✓ t o09/40 £ 100µ @ @

parking: Eau}0151=2 =X(E)

cliquecover:clique: {s,a }

{ n s . t } ,E u n }

Page 20: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Packing LP

Node packings

Binary solutions to the packing LP correspond to node packings in theoriginal graph and to cliques in the complement of the graph:

in a clique C in the complement, none of the vertices are adjacent inthe original graph, so there is no clique in the original graph thatcontains two of the vertices in C.

Mitchell Perfect Graphs 10 / 14

Page 21: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Packing LP

Clique coversBinary dual solutions to the packing LP with c = e correspond tocoverings by cliques in the original graph and to colorings in thecomplement of the graph.

The dual problem is

minx2Rm eT ysubject to AT y � e

y � 0

which is a covering problem.

Every vertex must be covered by a color.

If two vertices are not adjacent they must have different colors; thiscorresponds to the two columns not appearing in the same clique inthe original graph.

Mitchell Perfect Graphs 11 / 14

* A

a:c::::"

Page 22: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Packing LP

Two theorems

Theorem (Chvatal)The LP has an integral optimal solution for every nonnegative integralvector c if and only if the underlying graph is perfect.

Theorem(Perfect graph conjecture of Berge (1961). Proved byChudnovsky, Robertson, Seymour, and Thomas (2003).) A graph isperfect if and only if it contains no odd holes and no odd antiholes.

Mitchell Perfect Graphs 12 / 14

Page 23: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Packing LP

Two theorems

Theorem (Chvatal)The LP has an integral optimal solution for every nonnegative integralvector c if and only if the underlying graph is perfect.

Theorem(Perfect graph conjecture of Berge (1961). Proved byChudnovsky, Robertson, Seymour, and Thomas (2003).) A graph isperfect if and only if it contains no odd holes and no odd antiholes.

Mitchell Perfect Graphs 12 / 14

Page 24: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Packing LP

The Petersen graphExample

r

s

t

u

v

w

p

q

k

l

�(G) = 5. E.g. clique cover {r ,w}, {s, p}, {t , q}, {u, k}, {v , l}

!(G) = 4. E.g. packing {r , t , l , k}

Mitchell Perfect Graphs 13 / 14

0 0 00 0

Page 25: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

@

6 ¥t olook for packing'.Have 2 cycle, of lengle 5 .

Su a t m o s t 4 verticesi n a packing.

Page 26: Integer and Combinatorial Optimization: Perfect Graphseaton.math.rpi.edu/.../15C_perfectbeameripad.pdf · Packing LP Clique covers Binary dual solutions to the packing LP with c =

Packing LP

Another exampleExampleA graph that is not perfect because an induced subgraph is not perfect:

r

st

u

vw p

q k

Here we have �(G) = !(G) = 3. However, if we restrict attention to thesubset {r , s, t , u, v} of the vertices then this subgraph is an odd hole,so this is not perfect. In the packing LP, we get a binary solution withc = e, but not with c = (1, 1, 1, 1, 1, 0, 0, 0, 0), with the “ones”corresponding to vertices {r , s, t , u, v}: set xr = xs = xt = xu = xv = 1

2 .Mitchell Perfect Graphs 14 / 14