"Gotchas" in Combinatorial Optimization

Posted on April 30, 2025 by Yu Cong
Tags: ,

It would be fun to have a list of misleading ideas and traps in CO. I will update this post for new problems.

1 Polytope for s-t cut

epxe1 s-t path pxe0eE\begin{equation} \begin{aligned} \sum_{e\in p} x_e &\geq 1 & &\forall \text{ $s$-$t$ path $p$}\\ x_e &\geq 0 & &\forall e\in E \end{aligned} \end{equation} Is this polytope integral?

Initially I thought, we have max flow min cut thm and flow polytope is integral and this path formulation of s-t cut should be the dual of flow problem and thus it is integral. However, hitting spanning tree (dual to tree packing) formulation has a integrality gap of 2. Make sense.

However, LP(1) is not the dual of Max-flow.

2 Size of support

Given a linear program with a rank rr constraint matrix, what is the size of support of its optimal solution?

This is mentioned in a previous post. The description there is not precise. Consider the following linear program,

mincTxs.t.Axbx0 \begin{aligned} \min& & c^Tx& \\ s.t.& & Ax&\leq b\\ & & x&\geq 0 \end{aligned}

Let rr be the rank of AA. We may assume b0b\geq0. For any cc that this LP has a bounded solution, there must exist an optimal solution x*x^* with support at most rr. There are at most rr tight constraints in AxbAx\leq b and hence the optimal solution x*x^* lies in the intersection of +n\mathbb{R}^n_+ and a rank nr\geq n-r affine subspace, which is a convex polyhedron. If the LP has a bounded solution, then the optimal x*x^* must be some vertex of the polyhedron. To make a point in our affine subspace a vertex in the polyhedron, we need at least nrn-r hyperplanes xi=0x_i=0, each of the hyperplanes gives us a zero coordinate. Thus for any bounded solution, the support is at most rr.

What about integer programs? One may think that the support should also be at most rr, since the 0s in the optimal solution of its linear relaxation are integers. But rounding the fractional coordinates may break the feasibility. The currently best upperbound is roughly m(3A1+log(A1))m (3\|A\|_1+\sqrt{\log( \|A\|_1 )}) [1].

3 Cocircuit space of binary matroids

This comes from the proof of Lemma 4.2 in [2].

First, recall that we have the following property for binary matroid.
Proposition1[3,Proposition 9.2.2]

Let AA be a binary representation of a rank-rr binary matroid MM. Then the cocircuit space of MM equals the row space of AA. Moreover, this space has dimension rr and is the orthogonal subspace of the circuit space of MM.

To see this proposition, consider doing some row operations and deleting zero rows to make the matrix AA become [Ir|D][I_r| D]. Note that row operations do not change the row space. The set of the first rr columns is a base of MM and the set of the rest nrn-r columns is a cobase. Denote this base by BB and the cobase by B*B^*. Now the support of each row is a fundamental cociruit with respect to B*B^*. To see this claim, we have several approaches:
  1. The dual matroids of [Ir|D][I_r|D] is [DT|Inr][-D^T|I_{n-r}]. Since we are working with 𝔽2\mathbb{F}_2, the dual is just the binary matroid [DT|Inr][D^T|I_{n-r}]. The claim follows easily.
  2. Take a row from [Ir|D][I_r| D] and let F*F^* be the set of columns with value 00. One can easily see that this is a hyperplane since the rank is r1r-1 and any column not in F*F^* has 11 in that row, thus adding any element in E\F*E\setminus F^* will increase the rank. Then the complement of F*F^* is a cocircuit.

The claim shows that the cocircuit space contains the row space. Now we prove the other side. Every circuit is a fundamental circuit to some base. Thus we can choose different cobase B*B^* and do the same argument to show that every circuit in the row space. Hence, the cocircuit space is the same as row space of AA.

Here is the problem: Given a binary matroid A𝔽2r×nA\in \mathbb{F}_2^{r\times n} and a cocycle C*C^* of AA, there exists a vector y𝔽2ry\in \mathbb{F}_2^r such that C*C^* remains a cocycle in yTAy^T A.

With Proposition 1, you may think that this looks fine. The incidence vector of any cocycle is in the row space and yTAy^T A is a linear combination of row vectors.

Counterexample: Consider the following binary matroid. [000111101100111010101]\begin{bmatrix} 0 & 0 & 0 & 1 & 1& 1& 1 \\ 0& 1&1&0&0&1&1\\ 1&0&1&0&1&0&1\\ \end{bmatrix}

Any single column vector is a flat. So its complement should be a cocycle. However, it is easy to see that [0111111]\begin{bmatrix} 0 & 1 & 1 & 1 & 1& 1& 1 \end{bmatrix} is not in the row space.

The bug is the definition of cocycle and cocircuit space. Cocycle is union of cocircuits but things in cocircuit space is the symmetric difference of cocircuits. (Or if you prefer to call the disjoint union of circuits a cycle, the complement of flat is union of cocircuits not cocycle.)

References

[1]
S. Berndt, H. Brinkop, K. Jansen, M. Mnich, T. Stamm, New support size bounds for integer programming, applied to makespan minimization on uniformly related machines, in: 34th International Symposium on Algorithms and Computation (ISAAC 2023), Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023: pp. 13:1–13:18 10.4230/LIPIcs.ISAAC.2023.13.
[2]
J. Geelen, R. Kapadia, Computing Girth and Cogirth in Perturbed Graphic Matroids, Combinatorica. 38 (2018) 167–191 10.1007/s00493-016-3445-3.
[3]
J.G. Oxley, Matroid theory, 2nd ed, Oxford University Press, Oxford ; New York, 2011.