Topics in Combinatorial Optimization Orlando Lee Unicamp 3 de - - PowerPoint PPT Presentation

topics in combinatorial optimization
SMART_READER_LITE
LIVE PREVIEW

Topics in Combinatorial Optimization Orlando Lee Unicamp 3 de - - PowerPoint PPT Presentation

Topics in Combinatorial Optimization Orlando Lee Unicamp 3 de junho de 2014 Orlando Lee Unicamp Topics in Combinatorial Optimization Agradecimentos Este conjunto de slides foram preparados originalmente para o curso T opicos de


slide-1
SLIDE 1

Topics in Combinatorial Optimization

Orlando Lee – Unicamp 3 de junho de 2014

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-2
SLIDE 2

Agradecimentos

Este conjunto de slides foram preparados originalmente para o curso T´

  • picos de Otimiza¸

c˜ ao Combinat´

  • ria no primeiro

semestre de 2014 no Instituto de Computa¸ c˜ ao da Unicamp. Preparei os slides em inglˆ es simplesmente porque me deu vontade, mas as aulas ser˜ ao em portuguˆ es (do Brasil)! Agradecimentos especiais ao Prof. M´ ario Leston Rey. Sem sua ajuda, certamente estes slides nunca ficariam prontos a tempo. Qualquer erro encontrado nestes slide ´ e de minha inteira responsabilidade (Orlando Lee, 2014).

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-3
SLIDE 3

Independent sets

A matroid is a pair M = (E, I) in which I ⊆ 2E that satisfies the following properties: (I1) ∅ ∈ I. (I2) If I ∈ I and I ′ ⊆ I, then I ′ ∈ I. (I3) If I 1, I 2 ∈ I and |I 1| < |I 2|, then there exists e ∈ I 2 − I 1 such that I 1 ∪ {e} ∈ I. (Independence augmenting axiom) We say that the members of I are the independent sets of M.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-4
SLIDE 4

Matroid algorithms

We are interested in the following. Maximum weight basis problem. Given a matroid M = (E, I) and a weight-function c : E → R, find a maximum weight basis of M. One issue that needs to be addressed is how the input matroid is

  • given. For example, if we provide a list of all independent sets then

the problem is trivial. However, note that in this case the input has exponential size on |E|, while we want algorithms that are polynomial in |E|. A graphic matroid M(G) could be specified by the incidence matrix of G, and we do not need to list every forest of G. In this sense, a graph is a concise way to describe a graphic matroid.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-5
SLIDE 5

Matroid algorithms

“With this analogy in mind, it would be highly desirable to develop a general result on matroids stating intuitively that every matroid

  • n E can be encoded in such a way that the size of the code is

polynomial in |E|.” – Frank Unfortunately, this is not possible as Frank notes that there exists at least 2(2r ) paving matroids on E where r = 2⌊n/4⌋ and n := |E| 5 as proved by Knuth in 1974. See Theorem 5.3.6 in Frank’s book.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-6
SLIDE 6

Matroid algorithms

Edmonds proposed the idea of representing a matroid implicitly, by means of an independence oracle which given a subset of the ground as input, reports whether it is independent or not. The complexity of a matroid algorithm is then measured by the number

  • f oracle calls and other conventional elementary steps.

There are other oracles the could be used to describe a matroid, because there are many equivalent way to define a matroid. However, not all oracles are polynomially equivalent. Proposition 5.5.1 The rank oracle, the independence oracle and the strong basis oracle are polynomially equivalent. (Exercise).

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-7
SLIDE 7

Matroid greedy algorithms

Recall the problem we are interested. Maximum weight basis problem. Given a matroid M = (E, I) and a weight-function c : E → R, find a maximum weight basis of M. Note that with such an algorithm, we could also find a maximum weight independent set. Just delete the negative weight elements

  • f M and find a maximum weight basis in the resulting submatroid.

Let ˆ r(c) := ˆ r M(c) denote the weight of a maximum basis of M with respect to c. Function ˆ r is called vector-rank function of M. Observe that when c = χX for some X ⊆ E then ˆ r(χX) = r(X). So this extends the definition of rank of a matroid.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-8
SLIDE 8

Matroid greedy algorithms

GreedyAlgorithm(M, c) ⊲ independence oracle

  • 1. B ← ∅
  • 2. let e1, . . . , et the elements of E(M) in non-increasing weight
  • 3. for i = 1 to t do

4. if B ∪ {ei} is independent in M 5. then B ← B ∪ {ei}

  • 6. return B
  • Remark. Note that the set B returned by the algorithm is clearly a

basis of M. Note the similarity with Kruskal’s algorithm for finding a maximum weight spanning tree. In fact, Kruskal’s algorithm is a special case

  • f this general algorithm.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-9
SLIDE 9

Matroid greedy algorithms

  • Theorem. Given M and c, GreedyAlgorithm returns a basis of

M of maximum weight.

  • Proof. Let B the basis returned by the algorithm and let B∗ a

maximum (weight) basis such that |B ∩ B∗| is as large as possible. We claim that B = B∗. Suppose for a contradiction that this is not true and let f be the first element (in the order established by the algorithm) such that f ∈ B − B∗. Let B′ be the subset of B chosen by the algorithm until the moment it chose f . So B′ ⊂ B∗. By a proposition (slides on circuits), there exists e ∈ B∗ − B such that B∗ − e + f is a basis of M. By the optimality of B∗, c(f ) c(e). We cannot have c(f ) = c(e) since otherwise B∗ − e + f would be a maximum basis that has more elements in common with B than B∗, contradicting its choice. So c(f ) < c(e). This implies that e precedes f in the order. But since B′ + e ⊆ B∗ is independent, the algorithm should have selected e which is a contradiction.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-10
SLIDE 10

Matroid greedy algorithms

The complexity of GreedyAlgorithm is O(nh + n lg n) where h is the complexity of an independence oracle. GreedyAlgorithm can also be used to compute a minimum weight basis of a matroid. Just apply the algorithm with input M, −c. A matroid can also defined as a pair M := (E, I) such that I satisfies (I1)(I2) and (G) For every c : E → R, GreedyAlgorithm(M, c) returns a maximal member of I with maximum weight.

  • Exercise. Prove that (I1)(I2)(I3) and (I1)(I2)(G) are equivalent.

(not so easy)

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-11
SLIDE 11

Optimality criteria for bases

  • Theorem. A basis B is of maximum weight if and only if

c(y) c(x) for every y ∈ E − B and every x ∈ C(B, y).

  • Proof. (Necessity) Let y ∈ E − B and x ∈ C(B, y). Then

B − x + y is a basis and from the optimality of B we have that c(y) c(x). (Sufficiency) Let B∗ be a maximum weight basis such that |B ∩ B∗| is as large as possible. Suppose for a contradiction that there exists y ∈ B∗ − B. By the symmetric basis exchange property, there exists x ∈ B − B∗ such that B∗ − y + x and B − x + y are bases of

  • M. From the choice of B∗, we have that c(x) < c(y). On the
  • ther hand, since B − x + y is a basis, then x ∈ C(B, y) and from

hypothesis, we have that c(y) c(x) which is a contradiction.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-12
SLIDE 12

Optimality criteria for independent sets

  • Theorem. An independent set I is of maximum weight if and only

if: (A) c(x) 0 for every x ∈ I, (B) c(y) 0 whenever I + y is independent and y ∈ E − I, and (C) c(y) c(x) whenever I + y is dependent and x ∈ C(I, y).

  • Proof. The conditions (A)(B)(C) are obviously necessary. Let us

show that they are sufficient. Let E + the elements with positive weight and let I + := I ∩ E +. Since the elements of I have non-negative weight, c(I +) = c(I). So I is of maximum weight in M if and only if I + is of maximum weight in M+ := M|E +, the restriction of M to E +. The latter property is equivalent to requiring I + to be a maximum weight basis in M+. Condition (C) and the previous theorem imply the result.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-13
SLIDE 13

Linear extension

  • Theorem. Let M := (E, r) be a matroid and let c : E → R be a

weight function. Then the maximum weight ˆ r(c) of a basis is equal to r(E)c(en) +

n−1

  • i=1

r(E i)[c(ei) − c(ei+1)], where E = {e1, . . . , en}, c(e1) · · · c(en), and E i := {e1, . . . , ei} (i = 1, . . . , n − 1).

  • Remark. Because of this result, ˆ

r is also called the linear extension

  • f r.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-14
SLIDE 14

Linear extension

  • Proof. GreedyAlgorithm when executed on the ordering of

the elements in the statement, returns a basis B such that |B ∩ E i| = r(E i) for every i = 1, . . . , n. Therefore, r(E)c(en) +

n−1

  • i=1

r(E i)[c(ei) − c(ei+1)], is equal to |B∩E|c(en)+

n−1

  • i=1

|B∩E i|[c(ei)−c(ei+1)] =

  • e∈B

c(e) = c(B) = ˆ r(c).

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-15
SLIDE 15

Matroid polyhedra

Let M := (E, r) be a matroid and let c : E → R be a weight

  • function. Suppose that the elements of E := E(M) are labeled so

that c(e1) · · · c(en). We will use this convention throughout the rest of the presentation. Theorem 1. (Edmonds, 1971) The linear program max

  • e∈E c(e)x(e)

s.t. x(S) r(S) for every S ⊂ E, x(E) = r(E), x(e) 0 for every e ∈ E has an integral optimum solution. (continues)

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-16
SLIDE 16

Matroid polyhedra

The dual linear program min

  • S⊆E y Sr(S)

s.t.

  • S:e∈S yS c(e)

for every e ∈ E, yS 0 for every S ⊂ E, yE free of sign has an integral optimum solution y for which y+ is a chain. Moreover, if c is integral, then y can be chosen integral, that is, the primal linear system of inequalities is TDI.

  • Remark. This implies that the integral primal solutions are

incidence vectors of bases of M.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-17
SLIDE 17

Matroid polyhedra

  • Proof. Let B a basis of maximum weight and let x := χB. Clearly

x belongs to the polyhedron defined by the primal system. Now let E i := {e1, . . . , ei} for i = 1, . . . , n. Furthermore, let y be defined by: y Sn = c(en) and y E i = c(ei) − c(ei+1), i = 1, . . . , n − 1. Then for any ei ∈ E we have

  • S:ei∈S

y S = yE i + · · · + yE n−1 + yE n = c(ei) and hence y is a dual feasible solution. Moreover, by construction, y + is a chain and it is integral. By the linear extension theorem, cx = yr, that is, x and y are optimum solutions.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-18
SLIDE 18

Matroid polyhedra

Theorem 2. The linear program max

  • e∈E c(e)x(e)

s.t. x(S) r(S) for every S ⊆ E, x(e) 0 for every e ∈ E has an integral optimum solution. (continues)

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-19
SLIDE 19

Matroid polyhedra

The dual linear program min

  • S∈E y Sr(S)

s.t.

  • S:e∈S y S c(e)

for every e ∈ E, y S 0 for every S ⊆ E has an integral optimum solution y for which y+ is a chain. Moreover, if c is integral, then y can be chosen integral, that is, the primal linear system of inequalities is TDI.

  • Remark. This implies that the integral primal solutions are

incidence vectors of independent sets of M.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-20
SLIDE 20

Matroid polyhedra

  • Proof. If c is non-negative, then the optimum primal and dual

solutions given by Theorem 1 serve here as integral solution because x(E) = r(E) and y E = c(en) is non-negative. If c 0 then x := 0 and y := 0 form an optimal primal-dual pair solution. So suppose c has positive and negative components. Let i be the largest subscript such that c(ei) > 0 c(ei+1). Let E ′ := E i and M′ := M|E ′. Let x′ and y′ be the optimum primal and dual solutions guaranteed by Theorem 1 with respect to M′. We can extend x′ by adding zeroes to obtain a primal solution x and take y := y ′. Clearly, x and y are optimum solutions of the primal and dual programs.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-21
SLIDE 21

Matroid polyhedra

The matroid (independence) polyhedron (polytope) of a matroid M with rank function r is defined as P(r) := conv{χI : I ∈ I(M)}. By Theorem 2 we have that P(r) can be described by the system: x(S) r(S) for every S ⊆ E, x(e) 0 for every e ∈ E.

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-22
SLIDE 22

Matroid polyhedra

The base polyhedron (polytope) of a matroid M with rank function r is defined as B(r) := conv{χB : B ∈ B(M)}. By Theorem 2 we have that B(r) can be described by the system: x(S) r(S) for every S ⊆ E, x(E) = r(E), x(e) 0 for every e ∈ E. Note that B(r) is a face of P(r).

Orlando Lee – Unicamp Topics in Combinatorial Optimization

slide-23
SLIDE 23

References

  • A. Frank, Connections in Combinatorial Optimization, Oxford.

J.G. Oxley, Matroid Theory, Oxford.

Orlando Lee – Unicamp Topics in Combinatorial Optimization