单调优化的改进型外逼近算法
Refined outer-approximation algorithms for monotonic optimisation
AI总结:
针对多面体块外逼近算法(POA)扩展性差的问题,提出三项改进并开发高效树实现,实现数量级加速,推出开源Python包polyblocks。
AI中文摘要:
单调优化是一类基于单调函数构建的广泛非凸问题,这类问题通常通过多面体块外逼近算法(POA)求解,该算法属于分支定界方法,会迭代式地优化可行集的矩形外逼近。然而POA的扩展性较差:描述逼近所需的顶点数量可能呈指数增长,导致内存需求大且子例程愈发昂贵。为解决这些局限,我们提出三项算法改进:一是广义锚点选择,可生成最优平衡单调割;二是松弛最优性条件,无需连续性假设即可保证有限终止;三是矢量化变体,可并行处理多个节点。我们还开发了一种高效的基于树的实现,既能加速POA的核心子例程,又能紧凑存储外逼近。数值实验表明,这些改进相较于标准POA实现了数量级的加速,且能求解现有变体无法处理的问题。最后,我们推出polyblocks,这是一个开源Python包,实现了所提出的算法及开发新POA变体的框架,可在该httpsURL获取。
英文摘要:
Monotonic optimisation is a broad class of non-convex problems formulated in terms of monotone functions. Such problems are commonly solved via the polyblock outer-approximation algorithm (POA), a branch-and-bound method that iteratively refines a rectangular outer-approximation of the feasible set. POA scales poorly, however: the number of vertices needed to describe the approximation can grow exponentially, leading to large memory requirements and increasingly expensive subroutines. To address these limitations, we propose three algorithmic improvements: a generalised anchor selection that yields an optimal balanced monotonicity cut, a relaxed optimality condition that guarantees finite termination without continuity assumptions, and a vectorised variant that processes multiple nodes concurrently. We further develop an efficient tree-based implementation, which accelerates POA's core subroutines while storing the outer-approximation compactly. Numerical experiments show that these improvements yield order-of-magnitude speed-ups over standard POA and solve problems on which existing variants fail. Finally, we introduce polyblocks, an open-source Python package implementing the proposed algorithms alongside a framework for developing new POA variants, available at https://github.com/RashwanA/polyblocks.