30
Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit´ a di Padova November 2008

Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

  • Upload
    others

  • View
    29

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

Extended Formulations in Integer Programming (andCombinatorial Optimization)

Michele ConfortiUniversita di Padova

November 2008

Page 2: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

Projections

The projection of a set S of points (x, z) ∈ Rn+p onto the x-space is the set:

projx(S) = {x ∈ Rn : ∃z ∈ Rp s.t. (x, z) ∈ S}.

The following two programs are equivalent

max{f(x) : x ∈ projx(S)} and max{f(x) + 0z : (x, z) ∈ S}

Page 3: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

Extended formulations

We study sets of the type:

X = {x ∈ Rn : A′x ≤ b′, xi integer, i ∈ I ⊆ N}

We wish to find a dimension p and a polyhedron

Q = {(x, z) ∈ Rn+p : Ax + Bz ≤ b}

such that:

¤ projx(Q) = conv(X).

¤ The linear program max{hx + gz : Ax + Bz ≤ b} is easy to solve.

This is an extended formulation.

Page 4: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

Union of Polyhedra

Theorem 1 (Balas) Given k polyhedra

P 1 = A1x ≤ b1 = conv(v11 , . . . , v1

p1) + cone(r1

1, . . . , r1q1

) A1x ≤ 0P 2 = A2x ≤ b2 = conv(∅) + cone(r2

1, . . . , r2q2

) A2x ≤ 0...

P k = Akx ≤ bk = conv(vk1 , . . . , vk

p1) + cone(rk

1 , . . . , rkqk

) Akx ≤ 0

Consider the polyhedron Y in the space of variables (x, xi, δi) defined by:

Y :=

Aixi ≤ δibi i ∈ K∑i∈K xi = x∑i∈K δi = 1

δi ≥ 0 i ∈ K.

Thenprojx(Y ) = conv(

i∈K

(vi1, . . . , v

ipi

)) + cone(⋃

i∈K

(ri1, . . . , r

iqi

))

Page 5: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

Union of Polyhedra

Given conv(v1, . . . , vp) + cone(r1, . . . , rq) find vi1, . . . , v

ipi

and ri1, . . . , r

iqi

,1 ≤ i ≤ k such that

¤ (v1, . . . , vp) =⋃

i∈K(vi1, . . . , v

ipi

) and (r1, . . . , rq) =⋃

i∈K(ri1, . . . , r

iqi

)

¤ The polyhedra conv(vi1, . . . , v

ipi

) + cone(ri1, . . . , r

iqi

) admit an easydescription Aix ≤ bi.

Page 6: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

All-even subsets

We consider the set:

EV ENn = {x ∈ {0, 1}n : x has an even number of 1s}

Jeroslow proves the following:

Theorem 2

conv(EV ENn) = {x ∈ Rn : 0 ≤ xi ≤ 1, i ∈ N,∑

i∈S

xi −∑

i∈N\Sxi ≤ |S| − 1, |S| odd}.

Page 7: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

All-even subsets

Let Sk = {x ∈ {0, 1}n : x has k 1s}. Then EV ENn =⋃

k even Sk.So we can apply Balas theorem. Since

conv(Sk) = {x ∈ Rn : 0 ≤ x ≤ 1,∑

i∈N

xi = k},

consider the polytope Y defined by the following system:

xi −∑

k even xki = 0 i ∈ N∑

i∈N xki = kλk k even∑

k even λk = 1xk

i ≤ λk i ∈ N, k evenxk

i ≥ 0 i ∈ N, k evenλk ≥ 0 k even

Then conv(EV ENn) = projx(Y ).

Page 8: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

Mixed Integer Programming

X = {(s, y, x) ∈ R1+ × Rn

+ × Zn+ : s + yt + xt ≥ bt, 1 ≤ t ≤ n}.

Lemma 1 Let (s∗, y∗, x∗) be a vertex of conv(XCMIX). Define b0 = 0.Then

1. s∗ ≡ bt mod 1 for some 0 ≤ t ≤ n.

2. For 1 ≤ t ≤ n, either y∗t = 0 or y∗t ≡ bt − s mod 1.

For 0 ≤ i ≤ n, define

Xi = {(s, y, x) ∈ XCMIX : s ≡ bi mod 1}.

Then

Vert(conv(X)) =⋃

Vert(conv(Xi)) Rays(conv(X)) = Rays(conv(Xi)).

Page 9: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

Mixed Integer Programming

Let fti = (bt − fi)− bbt − fic.

Theorem 3 The following set of inequalities gives a formulation forconv(Xi):

s ≥ fi

s + yt + xt ≥ bt, 1 ≤ t ≤ n

yt + fti(xt + s) ≥ fti(dbt − fie+ fi), 1 ≤ t ≤ n

s ∈ R1+, y ∈ Rn

+, x ∈ Rn+.

Page 10: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

The size of an extended formulation

Given polytope

P = {x ∈ Rn : A=x = b=, A<x ≤ b<} = conv{v1, . . . , vp}where v1, . . . , vp are the vertices of P , and the inequalities in A<x ≤ b<

correspond to the facets of P . Let f be the number of rows of A<.We define the slack matrix of P to be the f × p matrix SM whose ij-entry isb<i − a<

i vj , that is, the slack taken by vertex vj in the inequality a<x ≤ b<.

Theorem 4 (Yannakakis) Let m be the smallest number such that SM canbe written as the product of two nonnegative matrices of size f ×m andm× p.The minimum number of variables and constraints that defines a polyhedronQ such that projx(Q) = P is of order Θ(m + n).

Page 11: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

The spanning tree polytope

SP (G) is the convex hull of the incidence vectors of spanning trees of G.

SP (G) =

x ∈ Rm :

∑e∈E xe = n− 1,∑

e∈E(S) xe ≤ |S| − 1, S ⊂ V

xe ≥ 0, e ∈ E

The slack matrix corresponding to the inequalities∑

e∈E(S) xe ≤ |S| − 1 isthe following. Given a node k ∈ V , let Ak be the arborescence obtained byrooting T at k. Then one can readily verify that, if k ∈ S, the slack is is thenumber of nodes of S whose father in Ak is not in S. Let

λkij = 1 if j is the father of i in Ak, 0 otherwise, i, j, k ∈ V

thenSMS,T =

i∈S,j∈V \Sλkij .

Page 12: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

The spanning tree polytope

This yields a factorization of the slack matrix SM of SP (G) and thefollowing extended formulation:

∑i,j∈V xij = n− 1,

xij ≥ 0, ij ∈ E,xij = λkij + λkji, 1 ≤ i, j, k ≤ n∑

j λkij = 1, 1 ≤ i, k ≤ n, i 6= k

λkij ≥ 0, λkkj = 0, λkii = 0, 1 ≤ i, j, k ≤ n.

Page 13: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

A general idea

S = {(x, y) ∈ Rn+q |Ax + Gy ≥ b, y ≥ 0, x ∈ Zn}

¤ ∆ : least common multiple of the subdeterminants of G;

¤ k : smallest number such that kb is integral.

then, given a vertex (x, y) of conv(S), (k∆)y is integral.

Proof. y must be a vertex of {y ≥ 0 |Gy ≥ b−Ax} ...

If G is totally unimodular, i.e. ∆=1, we can write yi as the average of kinteger variables

yi =1k(µ0

i + · · ·+ µk−1i )

µ0i , . . . , µ

k−1i ≥ 0

µ0i , . . . , µ

k−1i ∈ Z

Page 14: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

A general idea

S = {(x, y) ∈ Rn+q |Ax + Gy ≥ b, y ≥ 0, x ∈ Zn}

¤ ∆ : least common multiple of the subdeterminants of G;

¤ k : smallest number such that kb is integral.

then, given a vertex (x, y) of conv(S), (k∆)y is integral.

Proof. y must be a vertex of {y ≥ 0 |Gy ≥ b−Ax} ...

If G is totally unimodular, i.e. ∆=1, we can write yi as the average of kinteger variables

yi =1k(µ0

i + · · ·+ µk−1i )

µ0i , . . . , µ

k−1i ≥ 0

µ0i , . . . , µ

k−1i ∈ Z

Page 15: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

A general idea

S = {(x, y) ∈ Rn+q |Ax + Gy ≥ b, y ≥ 0, x ∈ Zn}

¤ ∆ : least common multiple of the subdeterminants of G;

¤ k : smallest number such that kb is integral.

then, given a vertex (x, y) of conv(S), (k∆)y is integral.

Proof. y must be a vertex of {y ≥ 0 |Gy ≥ b−Ax} ...

If G is totally unimodular, i.e. ∆=1, we can write yi as the average of kinteger variables

yi =1k(µ0

i + · · ·+ µk−1i )

µ0i , . . . , µ

k−1i ≥ 0

µ0i , . . . , µ

k−1i ∈ Z

Page 16: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

An example

x + y ≥ h

ky ≥ 0

x ∈ Zw.l.o.g. 0 ≤ h < k

we get

y − 1k(µ0 + · · ·+ µk−1) = 0

x +1k(µ0 + · · ·+ µk−1) ≥ h

k

µ0, . . . , µk−1 ≥ 0x, µ0, . . . , µk−1 ∈ Z

x + µ0 ≥ bhkc

...

x + µh−k−1 ≥ bhkc

x + µh−k ≥ dhke

...

x + µk−1 ≥ dhke

Page 17: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

An example

x + y ≥ h

ky ≥ 0

x ∈ Zw.l.o.g. 0 ≤ h < k

we get

y − 1k(µ0 + · · ·+ µk−1) = 0

x +1k(µ0 + · · ·+ µk−1) ≥ h

k

µ0, . . . , µk−1 ≥ 0x, µ0, . . . , µk−1 ∈ Z

x + µ0 ≥ bhkc

...

x + µh−k−1 ≥ bhkc

x + µh−k ≥ dhke

...

x + µk−1 ≥ dhke

Page 18: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

An example

x + y ≥ h

ky ≥ 0

x ∈ Zw.l.o.g. 0 ≤ h < k

we get

y − 1k(µ0 + · · ·+ µk−1) = 0

x +1k(µ0 + · · ·+ µk−1) ≥ h

k

µ0, . . . , µk−1 ≥ 0x, µ0, . . . , µk−1 ∈ Z

x + µ0 ≥ bhkc

...

x + µh−k−1 ≥ bhkc

x + µh−k ≥ dhke

...

x + µk−1 ≥ dhke

Page 19: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

An example

x + y ≥ h

ky ≥ 0

x ∈ Zw.l.o.g. 0 ≤ h < k

we get

y − 1k(µ0 + · · ·+ µk−1) = 0

x +1k(µ0 + · · ·+ µk−1) ≥ h

k

µ0, . . . , µk−1 ≥ 0x, µ0, . . . , µk−1 ∈ Z

x + µ0 ≥ bhkc

...

x + µh−k−1 ≥ bhkc

x + µh−k ≥ dhke

...

x + µk−1 ≥ dhke

Page 20: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

Projections

P = {(z, µ) |Cz + Dµ ≥ f, µ ≥ 0}

Given λ ≥ 0 s.t. λD ≤ 0, then

(λC)z ≥ λf

is valid for P and for projz(P ).

Theorem 5

projz(P ) = {z | (λC)z ≥ λf, ∀λ ∈ extrQ}

where Q is the projection cone

Q = {λ |λ ≥ 0, λD ≤ 0}.

Page 21: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

Projections

P = {(z, µ) |Cz + Dµ ≥ f, µ ≥ 0}

Given λ ≥ 0 s.t. λD ≤ 0, then

(λC)z ≥ λf

is valid for P and for projz(P ).

Theorem 5

projz(P ) = {z | (λC)z ≥ λf, ∀λ ∈ extrQ}

where Q is the projection cone

Q = {λ |λ ≥ 0, λD ≤ 0}.

Page 22: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

Example: projecting out the µs

(λ) y − 1k (µ0 + · · ·+ µk−1) = 0

(λi) x + µt ≥ bhk c t = 0, . . . , k − h− 1

(λi) x + µt ≥ dhk e t = k − h, . . . , k − 1

µ0, . . . , µk−1 ≥ 0

Projection cone:

λt − 1kλ ≤ 0 t = 0, . . . , k − 1;

λt ≥ 0 t = 0, . . . , k − 1;

Choosing λ = k, λk−h = 1, λt = 0, t 6= k − h we get

x + ky ≥ dhke (MIR inequality)

Page 23: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

The mixing set

xi + y ≥ hi

ki = 1, . . . , n

y ≥ 0x ∈ Zn

we get

y − 1k(µ0 + · · ·+ µk−1) = 0

µ0, . . . , µk−1 ≥ 0

xi + µti ≥ bhi

kc, i = 1, . . . , n; t = 0, . . . , k − hi − 1

xi + µti ≥ dhi

ke, i = 1, . . . , n; t = k − hi, . . . , k − 1

x, µ0, . . . , µk−1 ∈ Z

Page 24: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

The mixing set

y +x1 ≥ 3/4y +x2 ≥ 2/4y +x3 ≥ 1/4y ≥ 0

x1, x2, x3 ∈ Z

Page 25: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

The mixing set

y +x1 ≥ 3/4y +x2 ≥ 2/4y +x3 ≥ 1/4y ≥ 0

x1, x2, x3 ∈ Z

4y − µ0 − µ1 − µ2 − µ3 = 0µ1 + x1 ≥ 1µ2 + x2 ≥ 1µ3 + x3 ≥ 1µ0 + x3 ≥ 0

⇒ 4y + x1 + x2 + 2x3 ≥ 3 (Mixing inequality)

Page 26: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

Mixed-integer vertex covers

¤ G = (V,E): bipartite graph;

¤ I ⊆ V : set of integer variables;

X(G, b, I) set of mixed-integer vertex covers x ∈ RV i.e.

xi + xj ≥ bij ij ∈ E

xi ≥ 0 i ∈ V

xj integer j ∈ I

There is an extended formulation whose size is polynomial on |V |, |E| and k(where k is the smallest number s.t. kb is integral).[Conforti, Di Summa, Eisenbrand, Wolsey]

Page 27: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

Extended Formulation (for k = 2)

Since any vertex x of convX(G, b, I) is half-integral, we can write

xi =12(µ0

i + µ1i ).

where µ0i , µ

1i ≥ and integer. We will express xi ∈ Z by µ0

i = µ1i .

12(µ0

i + µ1i ) +

12(µ0

j + µ1j ) ≥ bij

For integral µ’s this is equivalent to

µ0i + µ0

j

µ1i + µ1

j

≥≥

bbijcdbije

}if {bij} =

12

µ0i + µ1

j

µ1i + µ0

j

≥≥

bij

bij

}if {bij} = 0

Page 28: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

Extended Formulation (for k = 2)

Since any vertex x of convX(G, b, I) is half-integral, we can write

xi =12(µ0

i + µ1i ).

where µ0i , µ

1i ≥ and integer. We will express xi ∈ Z by µ0

i = µ1i .

12(µ0

i + µ1i ) +

12(µ0

j + µ1j ) ≥ bij

For integral µ’s this is equivalent to

µ0i + µ0

j

µ1i + µ1

j

≥≥

bbijcdbije

}if {bij} =

12

µ0i + µ1

j

µ1i + µ0

j

≥≥

bij

bij

}if {bij} = 0

Page 29: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

Projection: I-path inequalities

xv0 + 2(xv1 + · · ·xvk−1) ≥ db1 + b2 + · · ·+ bke

xv0 + 2(xv1 + · · ·xvk−1) + xvk

≥ db1 + b2 + · · ·+ bke[Conforti, Gerards, Zambelli]

Page 30: Extended Formulations in Integer Programming (and ... · Extended Formulations in Integer Programming (and Combinatorial Optimization) Michele Conforti Universit¶a di Padova November

A conjecture

¤ The complexity status of solving mixed integer vertex cover problems onbipartite graphs is open.

¤ The problem is polynomial on acyclic graphs.

Conjecture 2

conv(X(G, b, I)) =⋂

T

conv(X(T, b, I))

taken over all subtrees of G where all nodes of V (T ) ∩ I are leaves of T .

This would imply that the problem is in NP ∩ coNP .