Optimizing a low-dimensional convex function over a high-dimensional cube
For a matrix W ∈ℤ^m × n, m ≤ n, and a convex function g: ℝ^m →ℝ, we are interested in minimizing f(x) = g(Wx) over the set {0,1}^n. Since non-linearity only stems from g, one might expect algorithms whose running time depends only polynomially on n. Provided that W is known explicitly, various algorithms can be used for this problem. For instance, if g is separable convex, we will show how the framework of Hochbaum and Shanthikumar can be adapted. However, knowledge of W is a non-trivial assumption. We develop an algorithm that does not require W as an input, and achieves a running time of roughly (m W_∞)^𝒪(m^3)· poly(n) for several classes of convex functions g. When W is known explicitly, the running time decreases to (m W_∞)^𝒪(m^2)· poly(n). In this case, the running time is on par with the running time of Hochbaum and Shanthikumar. However, in contrast to Hochbaum and Shanthikumar, our algorithm also applies to sharp convex functions, which is a generalization of strongly convex functions, a class that reaches far beyond separable convex functions.
READ FULL TEXT