Given a convex function $f$ on $\mathbb{R}^n$ with an integer minimizer, we show how to find an exact minimizer of $f$ using $O(n^2 \log n)$ calls to a separation oracle and $O(n^4 \log n)$ time. The previous best polynomial time algorithm for this problem given in [Jiang, SODA 2021, JACM 2022] achieves $\widetilde{O}(n^2)$ oracle complexity. However, the overall runtime of Jiang's algorithm is at least $\widetilde{\Omega}(n^8)$, due to expensive sub-routines such as the Lenstra-Lenstra-Lov\'asz (LLL) algorithm [Lenstra, Lenstra, Lov\'asz, Math. Ann. 1982] and random walk based cutting plane method [Bertsimas, Vempala, JACM 2004]. Our significant speedup is obtained by a nontrivial combination of a faster version of the LLL algorithm due to [Neumaier, Stehl\'e, ISSAC 2016] that gives similar guarantees, the volumetric center cutting plane method (CPM) by [Vaidya, FOCS 1989] and its fast implementation given in [Jiang, Lee, Song, Wong, STOC 2020]. For the special case of submodular function minimization (SFM), our result implies a strongly polynomial time algorithm for this problem using $O(n^3 \log n)$ calls to an evaluation oracle and $O(n^4 \log n)$ additional arithmetic operations. Both the oracle complexity and the number of arithmetic operations of our more general algorithm are better than the previous best-known runtime algorithms for this specific problem given in [Lee, Sidford, Wong, FOCS 2015] and [Dadush, V\'egh, Zambelli, SODA 2018, MOR 2021].
翻译:给定 $\mathbb{R}^n$ 上的凸函数 $f$,假设其存在一个整数极小值,我们通过使用 $O(n^2 \log n)$ 次分离器调用和 $O(n^4 \log n)$ 时间来找到 $f$ 的精确极小值。 先前在 [Jiang, SODA 2021, JACM 2022] 给出的这个问题的多项式时间最优算法实现了 $\widetilde{O}(n^2)$ 个 oracle 复杂度。然而,Jiang 算法的总运行时至少为 $\widetilde{\Omega}(n^8)$,由于诸如 Lenstra-Lenstra-Lov\'asz(LLL)算法[Lenstra,Lenstra,Lov\'asz,Math。Ann.1982]和基于随机游走的切割平面法[Bertsimas,Vempala,JACM 2004]等昂贵的子例程。 我们的重大加速来自由 [Neumaier,Stehl\'e,ISSAC 2016] 提供的更快的 LLL 算法,该算法提供了类似的保证,[Vaidya,FOCS 1989] 的体积中心切割平面法(CPM)以及 [Jiang,Lee,Song,Wong,STOC 2020] 中提供的 CPM 的快速实现的非平凡组合。对于子模函数极小化(SFM)的特殊情况,我们的结果暗示了一个强多项式时间算法,使用 $O(n^3 \log n)$ 个求值 Oracle 调用和 $O(n^4 \log n)$ 个额外的算术操作。我们更一般的算法的 Oracle 复杂度和算术操作次数比此特定问题的先前已知运行时间最优算法[Lee,Sidford,Wong,FOCS 2015]和[Dadush,V\'egh,Zambelli,SODA 2018,MOR 2021]都好。