留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

求解线性规划的宽邻域不可行内点算法

上一篇

下一篇

杨喜美, 张因奎, 裴永刚. 求解线性规划的宽邻域不可行内点算法[J]. 西南大学学报(自然科学版), 2017, 39(1): 92-98. doi: 10.13718/j.cnki.xdzk.2017.01.014
引用本文: 杨喜美, 张因奎, 裴永刚. 求解线性规划的宽邻域不可行内点算法[J]. 西南大学学报(自然科学版), 2017, 39(1): 92-98. doi: 10.13718/j.cnki.xdzk.2017.01.014
Xi-mei YAN, Yin-kui ZHANG, Yong-gang PEI. A Wide Neighborhood Infeasible-Interior-Point Method for Linear Programming[J]. Journal of Southwest University Natural Science Edition, 2017, 39(1): 92-98. doi: 10.13718/j.cnki.xdzk.2017.01.014
Citation: Xi-mei YAN, Yin-kui ZHANG, Yong-gang PEI. A Wide Neighborhood Infeasible-Interior-Point Method for Linear Programming[J]. Journal of Southwest University Natural Science Edition, 2017, 39(1): 92-98. doi: 10.13718/j.cnki.xdzk.2017.01.014

求解线性规划的宽邻域不可行内点算法

  • 基金项目: 国家自然科学基金项目(61179040; 11501180);中国博士后基金项目(2016M590346);河南师范大学博士启动基金项目(qd14150);河南师范大学青年基金(2014QK03)
详细信息
    作者简介:

    杨喜美(1982-),女,河南周口人,讲师,博士,主要从事最优化理论与算法的研究 .

  • 中图分类号: O221.1

A Wide Neighborhood Infeasible-Interior-Point Method for Linear Programming

  • 摘要: 提出了一个求解线性规划的不可行内点算法.该算法的特点是:一方面使用了宽邻域,因此数值实验表明具有较好的计算效果;另一方面,通过分析获得它的多项式复杂度为O(n1.5L),这是宽邻域不可行内点算法的最好复杂度.
  • 加载中
  • 表 1  线性规划

    问题 m n 算法1 算法2
    时间/s 次数/次 对偶间隙 时间/s 次数/次 对偶间隙
    adlittle561380.031 2257.734 7e-0060.124 8353.277 8e-008
    blend741140.015 6231.653 6e-0100.046 8304.108 7e-008
    bandm3054720.218 4391.095 7e-0081.201 2502.992 7e-007
    beaconfd1732950.218 4231.095 7e-0081.201 2402.992 7e-007
    e2262234720.156 0436.038 6e-0100.421 2614.904 0e-007
    fitlp6271 6771.934 4388.709 9e-0087.644 0601.140 3e-008
    scsd61471 3500.031 2221.128 0e-0090.265 2421.203 2e-007
    scsd83972 7500.468 0214.243 4e-0090.499 2432.145 5e-007
    sc1051051630.015 6221.061 1e-0070.046 8325.491 5e-007
    scfxm39901 8000.546 0564.411 1e-0061.809 6761.211 2e-008
    share2b961620.015 6236.898 2e-0090.062 4333.839 3e-010
    woodw1 0988 4182.745 6572.432 6e-0129.750 1936.508 2e-011
    下载: 导出CSV
  • [1] doi: http://dl.acm.org/citation.cfm?id=808695&dl=ACM&coll=DL KARMARKAR N. A New Polynomial-Time Algorithm for Linear Programming [J]. Combinatorica, 1984, 4(2): 302-311.
    [2] doi: https://link.springer.com/article/10.1007/BF01588785 LUSTIG I J. Feasibility Issues in a Primal-Dual Interior-Method for Linear Programming [J]. Math Program, 1991, 49(1-3): 145-162.
    [3] MASAKAZU K, NIMROD M, SHINJI M. A Primal-Dual Infeasible-Interior-Point Algorithm for Linear Programming [J]. Math Program, 1993, 61(1-3): 263-280. doi: 10.1007/BF01582151
    [4] ZHANG Y. On the Convergence of a Class of Infeasible Interior-Point Method for the Horizontal Linear Complementarity Problem [J]. SIAM J Optim, 1994, 4(1): 208-227. doi: 10.1137/0804012
    [5] MIZUNO S. Polynomiality of Infeasible-Interior-Point Algorithms for Linear Programming [J]. Math Program, 1994, 67(1-3): 109-119. doi: 10.1007/BF01582216
    [6] POTRA F A. An Infeasible-Interior-Point Predictor-Corrector Algorithm for Linear Programming [J]. SIAM J Optim, 1996, 6(1): 19-32. doi: 10.1137/0806002
    [7] POTRA F A. A Quadratically Convergent Predictor-Corrector Method for Solving Linear Programs from Infeasible Starting Points [J]. Math Program, 1994, 67(1-3): 383-406. doi: 10.1007/BF01582228
    [8] KOJIMA M, NOMA T S, YOSHISE A. Global Convergence in Infeasible-Interior-Point Algorithms [J]. Math Program, 1994, 65(1-3): 43-72. doi: 10.1007/BF01581689
    [9] WRIGHT S J. Primal-Dual Interior-Point Methods [M]. Philsdephia: SIAM Publications, 1997.
    [10] YE Y. Interior Point Algorithms: Theory and Analysis [M]. Hoboken: John Wiley & Sons, 2011.
    [11] AI W, ZHANG S. An O(nL)-Iteration Primal-Dual Path-Following Method, Based on Wide Neighborhoods and Large Updates, for Monotone LCP [J]. SIAM J Optim, 2005, 16(2): 400-417. doi: 10.1137/040604492
    [12] YANG X, ZHANG Y, LIU H. A Wide Neighborhood Infeasible-Interior-Point Method with Arc-Search for Linear Programming [J]. J App Math Comput, 2016, 51(1-2): 209-225. doi: 10.1007/s12190-015-0900-z
    [13] 杨喜美, 刘红卫, 张因奎.带有新的迭代格式的内点算法[J].应用数学与力学, 2014, 35(9): 1063-1070. doi: http://www.cnki.com.cn/Article/CJFDTOTAL-YYSX201409012.htm
    [14] BROWNE S, DONGARRA J, GROSSE E, et al. The Netlib Mathematical Software Repository [CP/OL]. (1995-09-15) [2015-06-10]. http: //www. dlib. org/dlib/september95/netlib/09browne. html.
  • 加载中
表( 1)
计量
  • 文章访问数:  551
  • HTML全文浏览数:  266
  • PDF下载数:  2
  • 施引文献:  0
出版历程
  • 收稿日期:  2015-08-28
  • 刊出日期:  2017-01-20

求解线性规划的宽邻域不可行内点算法

    作者简介: 杨喜美(1982-),女,河南周口人,讲师,博士,主要从事最优化理论与算法的研究
  • 河南师范大学 数学与信息科学学院,河南 新乡 453007
基金项目:  国家自然科学基金项目(61179040; 11501180);中国博士后基金项目(2016M590346);河南师范大学博士启动基金项目(qd14150);河南师范大学青年基金(2014QK03)

摘要: 提出了一个求解线性规划的不可行内点算法.该算法的特点是:一方面使用了宽邻域,因此数值实验表明具有较好的计算效果;另一方面,通过分析获得它的多项式复杂度为O(n1.5L),这是宽邻域不可行内点算法的最好复杂度.

English Abstract

  • 从1984年,Karmarkar[1]提出内点算法以来,内点算法的研究一直是一个热门的课题.随着研究的不断深入,研究者提出了许多不同类型的内点算法.从初始点的选取不同可分为:可行内点算法和不可行内点算法.不可行内点算法的优势是:不要求初始点严格可行,仅要求在非负象限的内部.由于这种类型的点容易获得,故在实际计算中显得尤为重要.

    Lustig[2]首次提出了不可行内点算法,随后Masakazu[3]提出了原始-对偶不可行内点算法.这些早期的著作均没有给出不可行内点算法的多项式复杂度,直到Zhang[4]给出了第一个具有多项式复杂度O(n2 L)的不可行算法,然而,这个算法的复杂度较高.为了降低复杂度,众多学者做了大量研究工作[5-10].目前,不可行内点算法的最低复杂度为O(nL),这一结果仅对窄邻域不可行内点算法成立,并且窄邻域不可行内点算法的一般复杂度为O(n1.5L).对宽邻域而言一般算法的复杂度为O(n2L),目前最低复杂度为O(n1.5L).

    本文将给出一个复杂度为O(n1.5L)的宽邻域不可行内点算法,该算法迭代在Ai[11]等提出的宽邻域内.最后,通过数值试验说明该算法是有效的.

    本文中:e表示分量全为1的列向量;‖·‖表示向量的2 -范数.对于向量xs$ {{\mathbb{R}}^\mathit{n}} $xs$ {{\mathbb{R}}^\mathit{n}} $表示对应分量的乘,(xs)min表示xs$ {{\mathbb{R}}^\mathit{n}} $的最小分量;让$ \mathit{\boldsymbol{p}} = {\mathit{\boldsymbol{x}}^{ - \frac{1}{2}}}{\mathit{\boldsymbol{s}}^{\frac{1}{2}}}, \mathit{\boldsymbol{\tilde r}} = {\left( {\mathit{\boldsymbol{xs}}} \right)^{\frac{1}{2}}}\mathit{\boldsymbol{r}} $;另外,对于h$ {{\mathbb{R}}^\mathit{n}} $,我们记:h+=max{0h}和hhh+.

  • 本文将研究标准形式的原始-对偶线性规划:

    其中:A$ {{\mathbb{R}}^{m\times n}} $cxs$ {{\mathbb{R}}^\mathit{n}} $by$ {{\mathbb{R}}^\mathit{m}} $.

    为获得(P)和(D)的近似解,一般将原始-对偶线性规划转化为扰动系统:

    如果(P)和(D)的严格可行集

    并且A行满秩,即rank(A)=m,则(1) 式存在唯一解.原始-对偶内点算法的基本思想是用Newton方法求解(1) 式,逐渐减小μ,并使得迭代点列包含在中心路径的某个邻域内,最终得到满足允许精度的最优解.本文假设F0$ \phi $且rank(A)=m.

    下面给出求解迭代方向(ΔxΔyΔs)的方程如下:

    其中:

    α表示沿方向(ΔxΔyΔs)的步长,则新的迭代为:

    直接计算,可得下列常用结果:

    本文将限制中心路径在宽邻域$ \mathscr{N} $(τβ)内,其中$ \beta \le \frac{1}{2}, \tau \le \frac{1}{4} $是邻域参数并且

    另外,由(5) 式易知:

    最后,本文通过下列方法计算最大步长$ \tilde{\alpha } $

  • 在前面准备工作的基础上,给出不可行内点算法的一般框架,如下:

    初始化:$ \beta \le \frac{1}{2}, \tau \le \frac{1}{4}, \left( {{\mathit{\boldsymbol{x}}}^{0}}, {{\mathit{\boldsymbol{y}}}^{0}}, {{\mathit{\boldsymbol{s}}}^{0}} \right)\in \mathscr{N}\left( \tau, \beta \right), {{\mu }^{0}}=\frac{1}{n}{{\left( {{\mathit{\boldsymbol{x}}}^{0}} \right)}^{\rm{T}}}{{\mathit{\boldsymbol{s}}}^{0}} $.置k:=0.

    步骤1  如果(xk)Tskε(x0)Ts0,终止.

    步骤2  通过解方程组(2) 获得方向(ΔxΔyΔs),并通过(7) 式计算步长$ {{\tilde{\alpha }}^{k}} $.令

    步骤3  计算$ {\mu ^{k + 1}} = \frac{1}{n}{\left( {{\mathit{\boldsymbol{x}}^{k + 1}}} \right)^{\rm{T}}}{\mathit{\boldsymbol{s}}^{k + 1}} $,并置k:=k+1,转到步骤1.

    给出下面关于本文算法的两点说明对分析算法的复杂度至关重要.

    注1  若{(xkyksk)}是上述算法产生的迭代序列,则对于k≥0,有

    其中

    从注1易知:

    这蕴含着νk可以控制在点(xkyksk)处的不可行性.

    另外,由式(6) 可得:

    这能够保证(xk)Tsk小于收敛精度时,不可行也可以小于相同的精度,等价于:当$ \frac{{{{\left( {{\mathit{\boldsymbol{x}}^k}} \right)}^{\rm{T}}}{\mathit{\boldsymbol{s}}^k}}}{{{{\left( {{\mathit{\boldsymbol{x}}^0}} \right)}^{\rm{T}}}{\mathit{\boldsymbol{s}}^0}}} \le \varepsilon $时,必有

    注2  本文将选取与文献[12]中相同的初始点.

  • 引理1[11]  若(xys)∈$ \mathscr{N} $(τβ),则

    引理2[13]  若(xys)∈$ \mathscr{N} $(τβ),则

    其中

    由于本文使用了与文献[12]相同的初始点,故使用同样的证明方法可得下面引理.

    引理3[12]  若$ \left( {\mathit{\boldsymbol{x}}, \mathit{\boldsymbol{y}}, \mathit{\boldsymbol{s}}} \right) \in \mathscr{N}\left( {\tau, \beta } \right), \mathit{\boldsymbol{p}} = {\left( {{\mathit{\boldsymbol{x}}^{ - 1}}\mathit{\boldsymbol{s}}} \right)^{\frac{1}{2}}} $,则

    引理4  若$ \left( {\mathit{\boldsymbol{x}}, \mathit{\boldsymbol{y}}, \mathit{\boldsymbol{s}}} \right) \in \mathscr{N}\left( {\tau, \beta } \right), \mathit{\boldsymbol{p}} = {\left( {{\mathit{\boldsymbol{x}}^{ - 1}}\mathit{\boldsymbol{s}}} \right)^{\frac{1}{2}}} $,则

      在方程(2) 的第三个等式两边同时乘以$ {\left( {\mathit{\boldsymbol{xs}}} \right)^{ - \frac{1}{2}}} $,可得:

    进一步,可得:

    其中第二个不等式使用了引理2.

    另外,使用引理1和引理4容易获得下面的引理.

    引理5  若(xys)∈$ \mathscr{N} $(τβ),则μ(α)在区间[0, 1]上是单调递减的.

      对(4) 式两边关于α求导可得:

    这蕴含着μ(α)在区间[0, 1]上是单调递减的.

    引理6  若(xys)∈$ \mathscr{N} $(τβ),则

    其中

      使用(4) 式及引理3,可得:

    另外,使用(4) 式及引理1、引理3可得:

    证毕.

    下面,将寻找满足条件(6) 的αf的下界.

    引理7  若(xys)∈$ \mathscr{N} $(τβ)满足条件(6),则

      要证明该引理,只需要证明在区间$ \left[{0, {{\tilde \alpha }^0}} \right] $上,x(α)Ts(α)≥(1-α)xTs成立.为此,首先证明

    其中最后一个不等式使用了引理3.

    使用上面的不等式,可得:

    证毕.

    为了找到最大迭代步长$ \tilde \alpha $的下界,首先需要给出下列引理.

    引理8[13]  若(xys)∈$ \mathscr{N} $(τβ),则:

    如果$ \alpha \ge \frac{1}{{\sqrt n }} $,则

    如果$ \alpha < \frac{1}{{\sqrt n }} $,则

    引理9  若(xys)∈$ \mathscr{N} $(τβ),$ {\tilde \alpha } $满足条件(7),则$ \tilde \alpha \ge {\tilde \alpha ^0} $.

      为了证明$ \left\| {\;{{\left( {\tau \mu \left( \alpha \right)\mathit{\boldsymbol{e}} - \mathit{\boldsymbol{x}}\left( \alpha \right)\mathit{\boldsymbol{s}}\left( \alpha \right)} \right)}^ + }\;} \right\|\; \le \beta \tau \mu \left( \alpha \right) $,首先,需要对不等式的左边进行放大,可得:

    其中第一个不等式使用了文献[11]的注解3.1,第二、第三个不等式分别使用了引理8、引理3.

    构造一个函数f(α),将该引理的证明转化为证明f(α)≤0即可,其中

    使用引理6以及$ \beta \le \frac{1}{2}, \tau \le \frac{1}{4}, \omega \ge 6 $,可得:

    引理证毕.

    下面给出算法的多项式复杂度.

    定理1  让$ \left( {{\mathit{\boldsymbol{x}}^0}, {\mathit{\boldsymbol{y}}^0}, {\mathit{\boldsymbol{s}}^0}} \right) \in {\mathscr{N}}\left( {\tau, \beta } \right), \tau \le \frac{1}{4}, \beta \le \frac{1}{2} $,则本文的算法至多需要O(n1.5L)次迭代停止,其中

      由算法的终止条件步骤1及引理6,可得:

    其中第三个不等式使用了引理5,

    又由于0=(x0)Ts0,log(1-α)≤-α,容易证明

    另外,当$ k \ge \frac{{{n^{1.5}}}}{\eta }\log \left( {\frac{{{{\left( {{\mathit{\boldsymbol{x}}^0}} \right)}^{\rm{T}}}{\mathit{\boldsymbol{s}}^0}}}{\varepsilon }} \right) $时,使用(8) 式可得:

    所以,算法至多需要O(n1.5L)次迭代停止.

  • 用本文算法(算法1) 和文献[6](算法2) 对文献[14]中给出的线性规划进行测试.用MATLAB R2011b编程并在Intel Core i3 PC (3.00GHz),2GB内存下运行.最终的测试结果见表 1.从表 1中容易发现:本文提出的算法在迭代次数和时间上均要优于文献[6]中提出的算法,尤其是对于大规模问题,这种优势更明显.

参考文献 (14)

目录

/

返回文章
返回