GPU加速MIP原始启发式算法

3 阅读6分钟

某机构cuOpt是一个GPU加速的优化引擎,旨在为大型复杂决策问题提供快速、高质量的解决方案。混合整数规划是一种求解技术,可通过一组线性约束建模,其中部分变量只能取整数值。可建模为MIP的问题类型非常广泛,包括生产计划、供应链、运输、排程和金融等领域。

某机构cuOpt是一个GPU加速求解器,旨在为大规模、约束密集型问题提供低延迟、高质量的优化。其核心使用混合整数规划,将决策表述为同时包含连续变量和整数变量的线性约束。这使其非常适合供应链网络优化、路径规划与调度、人员与任务排程、生产计划以及量化金融等领域。

MIP求解器的加速原始启发式算法,是在不穷举搜索整个解空间的前提下,提供高质量可行解的算法。其必要原因有二:第一,许多实际MIP问题规模过大或对时间要求极高,传统求解器无法及时找到答案;第二,它们能帮助剪枝分支定界算法的搜索空间。加速启发式算法通过利用并行性和更智能的搜索策略来减少求解时间,使企业能够响应中断并做出低延迟决策。

本文阐释某机构cuOpt如何通过原始启发式算法,利用GPU加速为MIP问题提供高质量解,从而为MIPLIB基准测试集中的四个开放实例(liu.mps、neos-3355120-tarago.mps、polygonpack4-7.mps 和 bts4-cta.mps)发现新解。展示的结果表明,与领先的开源CPU求解器相比,解的质量和可行解数量均有显著提升。

为何大规模MIP需要快速、高质量的求解

MIP属于NP难问题类,意味着在 worst-case 下没有已知算法能快速求解所有此类问题。然而,尽管是NP难的,商业MIP求解器通常仍能为许多大规模实例提供最优解。

但某些问题仍然难以求解或需要极长的计算时间。鉴于MIP是对现实世界问题的建模,并常直接映射到运营成本,开发能够高效求解日益大规模和复杂实例的算法是一个可追溯到20世纪中期的长期目标。自那时起,已取得重大的理论和计算突破,包括分支定界算法、割平面、可行性泵等原始启发式算法,以及近期的并行处理。

现实问题通常是动态的,输入随时间变化。这要求求解器采用迭代和增量方法,使得每一步的速度都至关重要。时间关键的MIP包括柔性作业车间调度及其变体、批量大小确定、航空公司或铁路乘务员排班。因此,在cuOpt中投入了大量精力开发原始启发式算法,以在短时间内发现高质量解——通常快于任何其他开源求解器。

如何为MIP获取高质量可行解

迄今为止最成功的原始启发式算法之一是可行性泵,每年都有基于该思想的新论文发表。其主要思想相对简单:在可行区域的投影与使用域传播对仍为分数的变量进行舍入之间迭代。

首先改进现有算法以最大化GPU性能,并解决FP算法的两个主要瓶颈:

  • 投影被建模为线性规划问题。
  • 投影后的域传播。

观察到FP算法中投影的精度并不那么重要,即使精度较低也能获得类似结果。这启发使用一阶方法替代单纯形算法,幸运的是,PDLP已经实现在cuOpt框架中。

使用前一次投影的原始解和对偶解来热启动PDLP算法。在FP以及根节点中使用PDLP,能够更快地迭代,更有效地求解更大规模的问题。为解决第二个瓶颈,实现了GPU版本的域传播算法,并进行了重大改进,如批量舍入和动态变量排序。消除这些瓶颈后,重点转向消除FP内部的循环问题。

循环是重复步骤的问题,通常通过引入随机性来探索搜索空间的不同区域来解决。相反,选择使用局部MIP算法来打破循环,同时改进目标函数。为高效实现,局部MIP在GPU上运行,性能优于标准CPU版本。

还在每次迭代中添加了目标截断,并找到了新的最佳可行解。已发表相关论文详细阐述这一点。

这些改进催生了一种用于寻找可行解的高级原始启发式算法。下表展示了方法在可行解数量(3次运行平均)和目标间隙(最优解与启发式算法找到解之间的归一化差)方面,与近期FP变体和局部MIP的比较:

方法平均可行解数量原始间隙
修复传播组合默认193.80.66
局部MIP188.670.46
GPU局部MIP2050.41
GPU扩展FP + 最近舍入2200.23
GPU扩展FP + 修复传播220.670.22

除上述增强外,还引入了三种新颖的进化算法来进一步精炼模型。在检测到停滞时应用的进化算法,使原始间隙额外减少了3%。结合了潜水线程和基于子MIP的进化算法的简单分支定界方法(不含割平面)提供了更大程度的改进。现在将此方法与广泛使用的开源求解器进行比较:

图2展示了CPU与GPU在可行解数量和求解器测量时间上的对比。

图3展示了CPU与GPU在平均归一化积分上的对比。

图4展示了CPU与GPU在平均目标间隙上的对比。

图表显示,与包含复杂割平面算法和特定问题方法的求解器相比,速度有显著提升。这表明存在进一步改进的潜力,以及可以用前述GPU加速原始启发式算法来增强任何现有求解器的可能性。

GPU如何使MIP求解变得实用

快速、可行的MIP求解在决策智能流水线中扮演关键角色。当与某机构Palantir Ontology和某机构Nemotron推理代理等系统集成时,能够在多个运营模型中并行生成和评估场景。cuOpt中的开源GPU加速MIP求解器能在数秒内计算出可行解,使下游代理能够模拟替代方案,并随条件变化重新优化计划。这种能力将静态优化转变为持续的反馈过程,以支持大规模自适应决策。

开始使用MIP启发式求解器

MIP启发式算法无需穷举探索问题空间即可提供快速、可行的解。这使组织能够快速测试替代方案并响应现实世界的中断,如港口延误、设备故障或突发需求峰值。某机构cuOpt利用GPU加速使这些启发式算法在大规模下变得实用,产生更快的解、缩小目标间隙,并实现持续、自适应的决策流水线。请探索某机构cuOpt GitHub仓库,尝试MIP用例示例以解决优化问题。FINISHED