Interior point methods are widely used for different types of mathematical optimization problems. Many implementations of interior point methods in use today rely on direct linear solvers to solve systems of equations in each iteration. The need to solve ever larger optimization problems more efficiently and the rise of hardware accelerators for general purpose computing has led to a large interest in using iterative linear solvers instead, with the major issue being inevitable ill-conditioning of the linear systems arising as the optimization progresses. We investigate the use of Krylov solvers for interior point methods in solving optimization problems from radiation therapy and support vector machines. We implement a prototype interior point method using a so called doubly augmented formulation of the Karush-Kuhn-Tucker linear system of equations, originally proposed by Forsgren and Gill, and evaluate its performance on real optimization problems from radiation therapy and support vector machines. Crucially, our implementation uses a preconditioned conjugate gradient method with Jacobi preconditioning internally. Our measurements of the conditioning of the linear systems indicate that the Jacobi preconditioner improves the conditioning of the systems to a degree that they can be solved iteratively, but there is room for further improvement in that regard. Furthermore, profiling of our prototype code shows that it is suitable for GPU acceleration, which may further improve its performance in practice. Overall, our results indicate that our method can find solutions of acceptable accuracy in reasonable time, even with a simple Jacobi preconditioner.
翻译:内点法广泛应用于不同类型的数学优化问题。当前许多内点法实现依赖直接线性求解器在每次迭代中求解方程组。为更高效地解决日益增大的优化问题,以及通用计算硬件加速器的兴起,促使人们开始关注使用迭代线性求解器,主要难点在于优化过程中不可避免的线性系统病态问题。我们研究了Krylov求解器在内点法中用于解决放射治疗和支持向量机优化问题的效果。基于Forsgren和Gill提出的Karush-Kuhn-Tucker线性系统的双增广形式,我们实现了内点法原型,并评估其在放射治疗和支持向量机实际优化问题中的性能。关键之处在于,我们的实现内部采用了带雅可比预处理的共轭梯度法。对线性系统条件数的测量表明,雅可比预处理能将系统条件数改善至可迭代求解的程度,但在此方面仍有进一步改进的空间。此外,原型代码的性能分析显示其适用于GPU加速,这将进一步提升实际运行性能。总体而言,即便使用简单的雅可比预处理,我们的方法也能在合理时间内找到满足精度要求的解。