欢迎来到学术参考网
当前位置:教育论文>数学论文

线性规划问题的算法综述

发布时间:2016-04-08 11:46

  线性规划概念是在1947年的军事行动计划有关实践中产生的,而相关问题1823年Forier和口1911年PQusi就已经提出过,发展至今已有将近100年的历史了。现在已成为生产制造、市场营销、银行贷款、股票行情、出租车费、统筹运输、电话资费、电脑上网等等热点现实问题决策的依据。线性规划就是在满足线性约束下,求线性函数的极值。


  毋庸置疑,数学规划领域的重大突破总是始于线形规划。提到线性规划算法,人们最先想到的是单纯形法和内点法。单纯形法是实际应用中使用最普遍的一种线性规划算法,而研究者们已证明在最坏的情况下单纯形法的计算复杂度是指数级的,内点算法的计算复杂度是多项式时间的。把两种算法相提并论,要么是这两种算法都已经非常完备,要么都有需改进之处。显然不属于前者,即两者都有需要改进之处。几十年来,研究者通过不断努力,在两种算法的计算上都取得相当的进展。


  1数学模型


  线性规划问题通常表示成如下两种形式:标准型、规范型。


  设jj(2…,n)是待确定的非负的决策变量;认2…,n)是与决策变量相对应的价格系数;K2…mj=l2…n)是技术系数;b(i12…,m)是右端项系数;

blob.png

  线性规划是运筹学最基本、运用最广泛的分支,是其他运筹学问题研究的基础。在20世纪50年代


  到60年代期间,运筹学领域出现许多新的分支:非线性规划(nonlinearprogranming、商业应用(crnxmereialpplieation、大尺度方法(laresealemeh-Qd)随机规划(stochasticPKgiamniig)、整数规划(ntegerprogramming)、互补转轴理论(amplmentaiyPivotheor)多项式时间算法(polynomialtjneagatm)等。20世纪70年代末,上述分支领域都得到了极大发展,但是却都不完善。而且数学规划领域中存在许多Nfkhard问题,如TP问题,整数规划问题等。这些问题的基本模型都可以写成线性规划形式,因此通过对线性规划算法的进一步研究,可以进一步启发及推动数学规划领域内其他分支的发展。


  2边界点算法


  由于单纯形法与基线算法都是在可行集的边界上取得最优值,故合称单纯形法与基线法为边界点算法。单纯形法是线性规划使用最早也是目前实际应用中最流行和求解新型规划问题最有效的算法之一。它实施起来相当简单特别对中小规模问题效果显著。单纯形法最早是由Damzg于1947年夏季首先提出来的。1953年Dantzig为了改进单纯形法每次迭代中积累起来的进位误差,提出改进单纯形法12。1954年美国数学家CELmH3针对对偶问题提出一种在数学上等价于用改进单纯形法求解的对偶线形规划。1974年CuretN41提出了求解一般线性规划问题的原对偶单纯形法,该算法与对偶单纯形法类似,但是原对偶单纯形法允许我们从一个非基础对偶可行解开始算法求解。


  1972年Klee等举例证明了单纯形算法的时间复杂性有可能是指数型。1973年,Jeoslowoi和Zdeh7又分别进一步指出常用的对偶单纯形法、原一对偶单纯形法等都是指数级的。


  这就让人们产生两个疑问:①是否存在单纯形法的某种改型,用它求解线性规划问题是多项式时算法。


  对于问题①,研究者们对单纯形法采用了一系列改进技术如数据的预处理方法、更好的退化性处理、更好的局部价格向量计算、原一对偶最速下降边算法的应用、更快和更稳定的矩阵分解、更好的Cach存贮的应用、以及阶段1和阶段2的组合算法等。但是仍未能从理论上证明线形规划算法是多项式时间的。


  近年来国内也出现了一批致力于线形规划算法研究的学者,但是国内学者的研究主要集中在对单纯形法的突破研究上,如基线法|8_'最钝角原理1111等。


  最钝角及投影主元标算法都是针对单纯形算法存在退化现象就如何选择最优入基、离基做出的一系列研究及改进。退化现象是单纯形法一直以来需解决的难题,为了克服退化问题许多学者提出了有限主元规则:扰动法、字典序规则、Blad规则1171等,其中Bind规则由于其简单而备受关注,但是这些有限主元规则的实际应用方面并不令人满意,甚至都不能和Dantzg规则相比。1990年,潘平奇教授在文献[11]给出了线性规划问题最优基的一个启发式刻画特征:最钝角原理。最钝角原理是引人反映目标梯度与约束梯度夹角大小的“主元标”乍为确定变量进基优先性的依据,潘教授的数值试验11819表明此规则明显优于Bland规则。然而潘的方法仅适用于只含不等式约束的线性规划问题。为便于求解标准线性规划问题,许多学者在其基础上又提出了对偶主元标法。由于对偶主元标法是利用严格互补松弛来推导过度的,针对这一问题,又有学者提出了投影主元标法。


  除此之外还有一系列最钝角原理在非人工变量两阶段算法1M21及亏基情况下的应用研究。这些研究表明,最钝角原理是克服单纯形法退化的一种有效方法。


  基线算法的概念是1996年阮国桢教授提出来的1891,这种算法是单纯形法的发展,名字由来一方面是相对单纯形法(基点法)提出,另一方面是使用


  基线算法的主要思想是:

blob.png

blob.png

  

blob.png

  其中疋FTX1;eRbERm为一个m阶单位矩阵。n是问题的维数,m是约束个数。把目标函数v=ff作为一个约束,看作参数。


  Stef!以任意:>0所对应的变量作为进基变量,则x所在的列与单位矩阵一起构成了一个可行基B改写八=[N马,相应地改写X为[xrxo’,x为非基变量,x为基变量。于是方程组AX=[vb’可以写成Nx+Bx^Evl]’=a0+^0VStep求B1,以B1左乘,得B^1N^N+3B=B1[v]’=矿a0+B1⑷v


  (2.1)


  令a=B1a。,p=B-1仏则式(21河写作


  Sep对任意巨{01,…,m},令aA^vs0


  计算出当前基线表对应的可行值区间[J-”。若h


  …,n-L贝IJv为最优值,或者转SteP4


  Sep旋转基表,更新BaP旋转基表时通常只使用有限软上界行的负可旋主元。对于负可旋主元的选择主要实现方法有:最大负主元算法[221,行列最好主元算法[231,保硬主元算法[24251等。


  基线算法操作简单迭代次数少,求解速度快。相对单纯形法来说,单纯形法最多能搜索与当前极点相邻的n个极点,而基线算法能搜索11个二维面,这是基线算法能够快速求解LP问题的关键所在。


  发展至今,基线算法已有其对偶算法[271,群部分算法['目标规划[29301,锥上算法[311等一整套的理论基础和一系列具体的快速实现算法12632,围绕着是否存在着多项式的基线算法,在计算复杂度方面作深入的研究将对线性规划的发展具有十分深远的意义。


  3割平面法


  线性规划算法中割平面思想的应用主要是指椭球法。1979年Khanchiaii33!改进Yudin和Nan-


  ovski等[34]为凸规划开发的椭球法,获得了一个求解线形规划的多项式时间算法:椭球法。对问题②做出了明确回答。不同于单纯形法从一个基础可行解开始迭代,椭球法的特点是求解过程的每一阶段都有一个以某一点为中心的椭球,迭代是从一个包含最优解的较大的椭球迭代到包含最优解的较小的椭球直至逼近最优解。

blob.png

 


  为线性规划问题式(1.2)的规模。其中,lg]是以2为底的对数,「?]表示刚刚大于括号值的整数。则椭球法的时间复杂度为OML)


  Khachiar椭!球法的主要思想是:


  根据线性规划的强对偶定理,线性规划问题式(1.2)可以转为下列求可行域问题:


blob.png

  2)从球开始,这个球大到包括式(3l1)的所有可行集X不断构造一系列椭球,第k次迭代的椭球为Ek检验椭球中心&是否满足约束条件;若满


  足则停止,否则利用割平面球的半椭球$Ek=EH


  {aTA构造新的椭球更新椭球Ek+1为包含半椭球的最小体积椭球。按照这种算法下去直到椭球中心位于目标集内,椭球中心即为问题式(31)的解;否则椭球体积太小以至不含问题式(31)的可行解。


  由于Khachiarn椭球法从构造包含可行域的大


  的椭球出发,初始椭球体积有可能是天文数字,而且KhanCir椭球法利用K-K-T条件将原规划问题转


  化为可行域求解问题,扩大了求解规模的同时加入了等式约束,使得可行集体积为零。虽然求解时,对等式进行摄动,可行集体积仍然很小。初始椭球体积太大,最终椭球(包含可行集的最小椭球)体积又几乎为零,算法可能需要经过非常大的迭代步数才能收敛。而且如果对偶问题无界则原问题不可行,因此当计算结果无解时不能判断是原问题无界呢还是原问题不可行。


  不少研究者从加大每次迭代后椭球缩小比出发,提出了许多KhanCirn椭球法的改进算法:深切害J(deepeus)35-37、替代切割(surrogatecuts)381、


  平行切割(paUMeus)|39-411等。最新成果是杨德庄等人提出的新的椭球法142,其优点在于引入目标束不等式及目标不等式组成,与原椭球法相比一方面大大缩小了算法求解规模,另一方面扩大了可行集的体积。而且新算法中可行集切割及目标切割交替进行,加速了椭球体积的缩小。不过令人失望的是即使最好的椭球法实施在计算上都难以与已有的单纯形法相比。因此,实际中很少作为一般方法使用1431。


  然而线性规划的其他解法如单纯形法、内点法都需要从一个基础解出发,然后确定迭代方向、迭代步长,因此每次迭代都需要计算目标函数和所有约束函数。而椭球法的计算则简单得多,理论上来说椭球法对于约束条件多的问题更有效。


  4内点法


  1984年KamarH441提出了一个比Khanchian法好的多项式时间算法的内点法,称为Kamaikar法。由于该法引用了非线性规划中的牛顿投影,因此又称K_aka牧影法。


  K_aka袪的提出在线性规划领域具有极大的理论意义。与椭球法不同,这个新算法不仅在最坏情况下在时间复杂度上优于单纯形法,在大型实际问题中也有潜力与单纯形法竞争。


  这一方法的提出掀起了一股内点法的研究热潮。鉴于Kamaka?法的难读性,一些研究学者?对Kamaika袪进行了适度的修改,使其简便易读。然而直接用该方法编程解题的测试表明,与目前基于单纯形法的商用软件相比,并没有明显的优势1491。因此很多研究者在Kamarka法的基础上深入研究并提出了各种修正内点法方法:仿射尺度法,对数障碍函数法,路径跟踪法算法等。


  仿射比例调节法又分为原(Ptme)仿射比例调节法和对偶(Dua)方射比例调节法。原仿射比例调节法是从原问题出发,用一个仿射变换代替投影变换,把坐标系从一个非负象限不是单纯形)映射到其本身。该法1967年由前苏联学者Dkii5(0提出,但他的工作直到Bame1]等人再次研究该法后才被 法,另一方面作了完全的收敛性的证明。此外,1989年AdleP等发表了从原问题的对偶问题出发的对偶仿射比例调节法。


  1986年G1531等人第一次把用于非线性规划的对数障碍函数法用于线性规划,并证明了对数障碍函数法和Kamarka投影法是等价的。以后的研究表明kamaikaf法实际上是广义对数障碍函数法的一个特殊情形。由于其计算方面的优越性,因此该法得到更多的研究和发展,该法也分为原对数障碍函数法和对偶对数障碍函数法。


  原对偶(PrimaDua)各径跟踪法,实际上是原对偶障碍函数法,是MeidG19M541年提出的。他将包含对数障碍函数问题的障碍参数的唯一的最优解所构成的曲线称为一条路径或中心轨迹,当障碍参数趋近零时,中心轨迹的极限即为原问题的最优解。Kojma55'等最早(1987)提出收敛的算法,之后其他研究者对算法作了进一步的改进。为了找到起始可行解算法都要引进人工变量和附加约束条件,分别以适当的大数作系数和右端值,但算法对这些大数的选择很敏感易导致算法中数值的不稳定性。因此LustiTi等考虑使这些大数同时变为无穷大时坐标增量的“极限可行方向”该方向只改变了求最优解的方向,并不改变确定轨迹中心的方向,因而问题解法成为不可行问题原对偶牛顿法,其优点是对初始解不必引入人工变量。该法也可用类似形式应用于不可行原问题或对偶问题的方法中[57581。该法还便于处理有界变量问题。然而这个方法的计算复杂性尚未确知,没有一般收敛的算法的证明。此外,在方法的改进方面,出现了全面收敛不可行内点算法和预计改正法。


  势函数下降法有基于Gezaga等人提出的原势函数下降法和Ye等人提出的原对偶势函数下降法,计算复杂性都达到较好指标。前者算法包含了两个搜索方向,且所有仿射变换方法都采用了最速下降方向。这方面的改进还有Kajmm等的原对偶势函数下降法等。由于上述势函数下降法的各种算法是基于一系列严格的可行解上,方法都要求说是难以做到的。显然直接采用不可行内点算法是最好的解决办法,因而Y,eTOdd和Misunol994年提


  出了构建“齐次自对偶问题”的方法,该齐次自对偶问题的解则可以用Kajjna等的原对偶势函数下降法来解出。


  在20世纪90年代内点法理论发展成一个相当成熟的原理。这一时期,对内点法理论的一个主要贡献来自YENesterov和八SNmirovski两位数学家[69。他们创建的Self-Cocrdant函数理论,使基于对数障碍函数的线性规划内点法很容易推广到更为复杂的优化问题上,如非线性凸规划、非线性互补、变分不等式、半定优化以及二阶锥优化等。目前自协调函数形式主要有:对数函数和商函数形式。


  今天,内点法的研究热点主要转向于半定优化、半定互补、非凸优化及组合优化问题上。


  5自协调函数理论


  自协调函数可谓是线性规划算法研究的一个重大突破,也是我们后续研究的重点。自协调函数理论又名自协调障碍函数理论,为解线性和凸优化问题提供了多项式时间内点算法。根据自协调障碍函数的参数就可以分析内点算法的复杂性。


  自协调函数定义:


  一个凸函数fR-※R对定义域内的任意x满足Lf"(x)」<2f(x3/2,我们就称它为自协调函数。如果函数(Rn-R对于任意直线满足自协调条件,我们称函数§(9是自协调函数。


  自协调函数理论的关键是算法的复杂性由自协调函数的两个参数决定,只要这两个参数可以推导出,则可求得算法的复杂性。


  然而目前常用的自协调函数形式只有对数障碍函数形式:负对数函数:f=一Igx及负商函数加上负对数函数:f=xgx^lgP]。


  最近CReas等m指出有些内核函数尽管没有全局自协调性,却能在局部自协调。而且,CR?s


  部值 也可以较好的求得算法的复杂性。基于CRQ0S的思想,金正静等1711提出了一个局部自协调函数,其形式如下


blob.png

  自协调函数理论的提出,为我们分析算法复杂性带来了极大的便利。然而以上的自协调函数形式都要求核函数为正,这为我们的研究带来了极大的限制。那么自协调函数是否存在不要求核函数为正的形式为我们研究自协调函数提供了方向。


  6结束语


  除了边界点算法,椭球法,内点法,线性规划还有有效集法等经典算法、杨德庄教授的新算法及遗传算法,神经网络等求解线性规划的智能计算方法,有兴趣者可参看有关文献。


  本文对线性规划典型算法的研究成果做了简要的介绍及分析,大致讲述了线性规划算法研究的最新进展,为后续研究提供了一个借鉴方向。


  目前整数规划、0-1规划、非线性规划等都是现代规划领域的难题,尤其是0-1规划问题已被确认为NI难题,研究线形规划的算法,对这些问题的算法研究都是有启示及推动作用的。


上一篇:求方程实根的一种迭代方法

下一篇:正态性检验的几种常用的方法