2025-11-22T13:49:16.309918

New Algorithm for Combinatorial $n$-folds and Applications

Jansen, Kahler, Pirotton et al.
Block-structured integer linear programs (ILPs) play an important role in various application fields. We address $n$-fold ILPs where the matrix $\mathcal{A}$ has a specific structure, i.e., where the blocks in the lower part of $\mathcal{A}$ consist only of the row vectors $(1,\dots,1)$. In this paper, we propose an approach tailored to exactly these combinatorial $n$-folds. We utilize a divide and conquer approach to separate the original problem such that the right-hand side iteratively decreases in size. We show that this decrease in size can be calculated such that we only need to consider a bounded amount of possible right-hand sides. This, in turn, lets us efficiently combine solutions of the smaller right-hand sides to solve the original problem. We can decide the feasibility of, and also optimally solve, such problems in time $(n r Δ)^{O(r)} \log(\|b\|_\infty),$ where $n$ is the number of blocks, $r$ the number of rows in the upper blocks and $Δ=\|A\|_\infty$. We complement the algorithm by discussing applications of the $n$-fold ILPs with the specific structure we require. We consider the problems of (i) scheduling on uniform machines, (ii) closest string and (iii) (graph) imbalance. Regarding (i), our algorithm results in running times of $p_{\max}^{O(d)}|I|^{O(1)},$ matching a lower bound derived via ETH. For (ii) we achieve running times matching the current state-of-the-art in the general case. In contrast to the state-of-the-art, our result can leverage a bounded number of column-types to yield an improved running time. For (iii), we improve the parameter dependency on the size of the vertex cover.
academic

New Algorithm for Combinatorial nn-folds and Applications

基本信息

  • 论文ID: 2409.04212
  • 标题: New Algorithm for Combinatorial nn-folds and Applications
  • 作者: Klaus Jansen, Kai Kahler, Lis Pirotton, Malte Tutas (Kiel University)
  • 分类: cs.DS (Data Structures and Algorithms)
  • 发表时间: 2024年9月 (arXiv预印本)
  • 论文链接: https://arxiv.org/abs/2409.04212

摘要

本文研究具有特殊结构的组合nn-fold整数线性规划(ILP)问题,其中矩阵AA的下半部分仅由(1,,1)(1,\ldots,1)向量组成。作者提出了一种分治方法,通过迭代减小右端向量的大小来分解原问题。该算法能够在时间复杂度(nrΔ)O(r)log(b)(nr\Delta)^{O(r)}\log(\|b\|_\infty)内决定可行性并求解最优解,其中nn是块数,rr是上部块的行数,Δ=A\Delta=\|A\|_\infty。论文还展示了该算法在三个重要应用中的有效性:(1)均匀机器调度,(2)最近字符串问题,(3)图不平衡问题。

研究背景与动机

问题重要性

整数线性规划是计算机科学中的核心NP困难问题之一,被Karp列入21个经典NP完全问题。虽然一般ILP问题在计算上具有挑战性,但具有特殊结构的ILP子类可以实现更高效的求解算法。

现有方法局限性

对于nn-fold ILP,当前最佳算法的时间复杂度为(nt)(1+o(1))2O(rs2)(rsΔ)O(r2s+s2)(nt)^{(1+o(1))} \cdot 2^{O(rs^2)}(rs\Delta)^{O(r^2s+s^2)}。对于组合nn-fold ILP(即s=1s=1的情况),现有算法的参数依赖性为(rΔ)O(r2)(r\Delta)^{O(r^2)}

研究动机

作者发现可以利用组合nn-fold ILP的特殊结构(下部块仅包含全1向量)来设计更高效的算法。通过分治策略和动态规划,可以将参数依赖性从O(r2)O(r^2)改进到O(r)O(r)

核心贡献

  1. 新算法设计: 提出了专门针对组合nn-fold ILP的分治算法,时间复杂度为(nrΔ)O(r)log(bdef)(nr\Delta)^{O(r)}\log(b_{\text{def}})
  2. 理论改进: 将参数依赖性从(rΔ)O(r2)(r\Delta)^{O(r^2)}改进到(nrΔ)O(r)(nr\Delta)^{O(r)}
  3. 应用验证: 在三个重要问题上验证算法效果:
    • 均匀机器调度:达到pmaxO(d)IO(1)p_{\max}^{O(d)}|I|^{O(1)},匹配ETH下界
    • 最近字符串问题:在有界列类型情况下获得改进
    • 图不平衡问题:改进顶点覆盖参数依赖性
  4. 技术创新: 引入了新的解结构分析和组合方法

方法详解

任务定义

组合nn-fold ILP定义为: max{cTxAx=b,xZ0h}\max\{c^T x | Ax = b, x \in \mathbb{Z}_{\geq 0}^h\}

其中约束矩阵AA具有特殊结构:

A_1 & A_2 & \cdots & A_n \\ \mathbf{1}_{t_1}^T & 0 & \cdots & 0 \\ 0 & \mathbf{1}_{t_2}^T & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \mathbf{1}_{t_n}^T \end{pmatrix}$$ ### 核心算法架构 #### 1. 分治策略 算法采用自顶向下的分治方法,将原问题递归分解: - 每次迭代将上部右端向量$b^{\uparrow}$减半 - 将问题分解为两个子问题:奇偶约束问题和小规模问题 - 通过$I = O(\log b_{\max}^{\downarrow})$次迭代达到基本情况 #### 2. 解的结构分析 关键技术洞察: - **支撑界限**: 利用Eisenbrand-Shmonin定理,每个块的支撑大小有界:$|supp(x_k)| \leq K = 2(r+1)\log(4(r+1)\Delta)$ - **下部RHS确定性**: 通过公式(3)唯一确定每次迭代的下部右端向量 - **上部RHS有界性**: 小子问题的上部RHS被$D = nK\Delta$界定 #### 3. 动态规划组合 使用Algorithm 1实现高效的子问题组合: - **基础表(BT)**: 存储每个块的所有可能配置的可行性 - **动态表(DT)**: 通过布尔卷积组合子问题解 - **FFT优化**: 使用快速傅里叶变换加速卷积运算 ### 技术创新点 1. **迭代减小策略**: 通过精确计算每次迭代中RHS的减小量,保证算法收敛性 2. **奇偶性处理**: 巧妙处理解向量的奇偶性约束,确保子问题可以平分 3. **负系数转换**: 线性时间内将含负系数的问题转换为非负问题 4. **优化目标扩展**: 从可行性判断扩展到最优化问题 ## 实验设置 ### 理论分析框架 论文主要进行理论分析,通过以下方式验证算法性能: 1. **时间复杂度分析**: 详细分析每个算法组件的时间复杂度 2. **参数依赖性比较**: 与现有最佳算法进行理论比较 3. **应用问题建模**: 将三个具体问题建模为组合$n$-fold ILP ### 应用问题验证 #### 均匀机器调度 - **问题规模**: $d$种作业类型,$\tau$种机器类型 - **参数界限**: $\Delta \leq p_{\max}^{O(1)}$(通过Rohwedder的技术) - **目标**: 最小化最大完成时间(Cmax)和最大化最小完成时间(Cmin) #### 最近字符串问题 - **输入**: $k$个长度为$L$的字符串,距离阈值$d$ - **列类型数**: $T$(可能有界) - **ILP维度**: $T$个块,每块$k$行$k$列 #### 图不平衡问题 - **参数化**: 顶点覆盖大小$k$ - **顶点类型数**: $T \leq 2^k$ - **目标**: 最小化顶点排序的总不平衡度 ## 实验结果 ### 主要理论结果 #### 1. 核心算法性能 **定理1**: 组合$n$-fold ILP可在时间$(nr\Delta)^{O(r)}\log(b_{\text{def}})$内求解 与现有方法比较: - Jansen-Rohwedder算法: $O(\sqrt{r+n\Delta})^{2(r+n)+O(h\cdot(r+n))}$ - 当前最佳算法: $(n\|t\|_\infty)^{(1+o(1))} \cdot 2^{O(r)}(r\Delta)^{O(r^2)}$ #### 2. 应用问题结果 **均匀机器调度** (定理2): - 时间复杂度: $p_{\max}^{O(d)}|I|^{O(1)}$ - **重要性**: 匹配ETH导出的下界$p_{\max}^{O(d^{1-\delta})}$,几乎最优 **最近字符串问题** (推论3): - 一般情况: $((T+1)k)^{O(k)}\log(L)$,匹配现有最佳结果$k^{O(k^2)}O(\log(L))$ - 有界列类型: 当$T = k^{O(1)}$时,指数依赖性从$O(k^2)$降至$O(k)$ **图不平衡问题** (推论4): - 时间复杂度: $((T+2)k)^{O(k)}\log(kn)$ - **改进**: 参数依赖性从$k^{k^2}$改进到$2^{k^2}$(当$T \leq 2^k$时) ### 技术分析结果 1. **支撑界限验证**: 确认了$K = O(r\log(r\Delta))$的支撑上界 2. **迭代次数分析**: 总迭代数$I = O(\log b_{\max}^{\downarrow})$ 3. **空间复杂度**: 每次迭代存储$(D+1)^r$个候选解 ## 相关工作 ### $n$-fold ILP发展历程 - **起源**: De Loera等人(2008)首次提出$n$-fold概念 - **算法改进**: 从Hemmecke-Onn-Romanchuk的立方时间算法到当前的近线性时间算法 - **应用扩展**: 在调度、配置问题、字符串问题等领域广泛应用 ### 调度问题相关工作 - **Knop-Koutecký**: 首次将$n$-fold技术应用于均匀机器调度 - **Koutecký-Zink**: 改进参数依赖性至$p_{\max}^{O(d^2)}$ - **Rohwedder**: 最近达到$p_{\max}^{O(d)}$,本文独立获得相似结果 ### 字符串和图问题 - **Gramm等人**: 最早的指数时间算法 - **Knop等人**: 当前最佳的$k^{O(k^2)}$算法 - **参数化复杂性**: 在各种参数下的FPT算法研究 ## 结论与讨论 ### 主要结论 1. **理论突破**: 首次实现组合$n$-fold ILP的$(nr\Delta)^{O(r)}$时间复杂度 2. **应用成功**: 在三个重要问题上获得理论最优或显著改进的结果 3. **技术创新**: 分治策略和结构分析为相关问题提供新思路 ### 局限性 1. **结构限制**: 仅适用于下部块为全1向量的特殊$n$-fold ILP 2. **实践效果**: 论文主要提供理论分析,缺乏实际实现的性能评估 3. **常数因子**: 时间复杂度中的隐含常数可能较大 ### 未来方向 1. **算法实现**: 开发高效的实际实现并进行实验评估 2. **结构扩展**: 研究更一般结构的$n$-fold ILP 3. **应用拓展**: 探索更多可建模为组合$n$-fold的问题 ## 深度评价 ### 优点 1. **理论贡献显著**: 在参数复杂性上取得重要突破,从$O(r^2)$改进到$O(r)$ 2. **方法创新性强**: 分治策略结合结构分析的思路新颖且有效 3. **应用价值高**: 在调度等实际问题上达到理论最优界限 4. **技术严谨性**: 数学证明详细,算法分析完整 ### 不足 1. **适用范围受限**: 仅针对特定结构的$n$-fold ILP,普适性有待提高 2. **实验验证不足**: 缺乏实际数据上的性能比较和算法实现 3. **常数分析缺失**: 未深入分析算法常数,可能影响实际性能 ### 影响力 1. **学术价值**: 为$n$-fold ILP研究提供新的理论工具和分析框架 2. **实用潜力**: 在调度优化等领域具有重要应用前景 3. **方法启发**: 分治思想可能适用于其他结构化优化问题 ### 适用场景 1. **大规模调度**: 适合具有多种作业和机器类型的调度问题 2. **组合优化**: 可建模为组合$n$-fold结构的各类问题 3. **参数化算法**: 当问题参数较小时特别有效 ## 参考文献 论文引用了39篇相关文献,涵盖: - $n$-fold ILP理论基础 [33, 8, 9, 17, 21, 31] - 调度问题研究 [30, 32, 28, 38] - 参数化复杂性 [14, 29, 34, 35] - 整数规划基础理论 [22, 23, 37, 13] --- **总体评价**: 这是一篇高质量的理论计算机科学论文,在组合$n$-fold ILP算法设计上取得了重要进展。虽然适用范围相对特定,但在理论分析的深度和应用的广度上都表现出色,为相关领域的后续研究奠定了坚实基础。