Skip to main content
QUICK REVIEW

[论文解读] New Methods for Solving Large Scale Linear Programming Problems in the Windows and Linux computer operating systems

Saeed Ketabchi, Hossein Moosaei|arXiv (Cornell University)|Sep 19, 2012
Advanced Optimization Algorithms Research参考文献 6被引用 3
一句话总结

本文提出并比较了两种求解大规模线性规划问题的方法:基于 MATLAB 的 linprog 函数的 LIPSOL(内点法)和一种新型的增广拉格朗日方法,结合广义牛顿迭代与 Armijo 线搜索。主要发现是,Linux 操作系统在求解大规模问题时优于 Windows 7,能够成功处理在 Windows 上导致内存不足错误的内存密集型实例,表明 Linux 在高性能优化工作负载中具有更优的效率和内存管理能力。

ABSTRACT

In this study, calculations necessary to solve the large scale linear programming problems in two operating systems, Linux and Windows 7 (Win), are compared using two different methods. Relying on the interior-point methods, linear-programming interior point solvers (LIPSOL) software was used for the first method and relying on an augmented Lagrangian method-based algorithm, the second method used the generalized derivative. The performed calculations for various problems show the produced random in the Linux operating system (OS) and Win OS indicate the efficiency of the performed calculations in the Linux OS in terms of the accuracy and using of the optimum memory.

研究动机与目标

  • 为解决标准 Windows 系统内存限制下无法求解大规模线性规划问题的挑战。
  • 评估并比较两种优化方法——LIPSOL(内点法)与基于增广拉格朗日的广义牛顿法——在 Windows 和 Linux 上的性能表现。
  • 研究操作系统选择对大规模 LP 问题计算效率、内存使用和解的精度的影响。
  • 证明当标准工具在 Windows 上失效时,可在 Linux 上使用自定义算法成功求解大规模 LP 问题。

提出的方法

  • 第一种方法使用 LIPSOL,即通过 MATLAB 的 linprog 函数调用的基于内点法的求解器,用于求解标准形式的线性规划问题。
  • 第二种方法采用对偶问题的增广拉格朗日公式,通过函数 $ \Phi(u,\alpha,\bar{x}) = -b^T u + \frac{1}{2\alpha} \| (\bar{x} + \alpha(A^T u - c))_+ \|^2 $ 将其转化为无约束最小化问题。
  • 应用广义牛顿法最小化 $ \Phi $,其中海森矩阵近似为 $ \nabla^2\Phi(u,\alpha,\bar{x}) = A D(z) A^T $,其中 $ D(z) $ 是基于活动约束的对角矩阵。
  • 为处理潜在的奇异性,采用修正的牛顿方向:$ -(\nabla^2\Phi + \delta I_m)^{-1} \nabla\Phi $,其中 $ \delta = 10^{-4} $。
  • 基于 Armijo 规则的线搜索通过回溯步长以确保满足充分下降条件,从而保证全局收敛性。
  • 使用 MATLAB 的稀疏随机矩阵生成工具和特定问题的向量构造方法,生成具有不同维度 $ m, n $ 和密度 $ d $ 的随机稀疏线性规划问题。

实验结果

研究问题

  • RQ1基于广义牛顿迭代与 Armijo 线搜索的增广拉格朗日方法是否在求解大规模线性规划问题时优于 LIPSOL?
  • RQ2所提出的算法能否求解在 Windows 7 上导致 MATLAB 的 linprog 出现内存不足错误的大规模线性规划问题?
  • RQ3在求解大规模线性规划问题时,Linux 操作系统与 Windows 7 在内存效率和计算性能方面有何差异?
  • RQ4操作系统的选择在多大程度上影响使用内点法与增广拉格朗日方法求解大规模 LP 问题的可行性与精度?

主要发现

  • 结合广义牛顿迭代与 Armijo 线搜索的增广拉格朗日方法成功求解了所有测试的大规模问题,包括在 Windows 7 上导致 MATLAB 的 linprog 出现内存不足错误的问题。
  • 在 Windows 7 上,当 $ m=10000, n=150000 $ 和 $ m=100, n=10^7 $ 时,linprog 因‘内存不足’错误而失败,而所提方法成功完成计算。
  • 在 Linux 上,所提方法成功求解了所有问题,包括最大规模的问题($ m=10000, n=150000 $),耗时 4215.10 秒,而 linprog 在相同问题上也失败。
  • 对于 $ m=10000, n=15000 $ 的问题,所提方法在 Linux 上耗时 3243.50 秒,而 linprog 因内存限制失败。
  • 所提方法实现了高精度:可行性间隙 $ \|Ax^*-b\|_\infty \leq 1.12 \times 10^{-8} $,对偶不可行性 $ \|(A^T u^* - c)_+\|_\infty \leq 3.13 \times 10^{-13} $,对偶间隙 $ |c^T x^* - b^T u^*| \leq 1.2 \times 10^{-7} $。
  • Linux 展现出更优的内存管理与计算稳定性,成功求解了在 Windows 7 上不可行的问题,即使使用相同的算法。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。