
从瞎子爬山到最优化方法袁亚湘(中国科学院数学与系统科学研究院)看到标题,读者一定会问:子爬山和最优化方法有什么关系?事实上,爬山的自标是登上山顶,也就是要找海拨最高的点;而最优化是在一定约束条件下寻求某个自标函数的最大值或最小值所以爬山本身就是一个优化同题。给定一个点,计算机可以计算目标函数在该点的信息(如函数值,梯度值),但不知道其他点的信息。这正如一个瞎子在山坡上能感觉到脚下的坡度(这是海拔函数在当前点的梯度值),但不知道山上的其他点的任何情况。可见计算机的能力和瞎子是差不多的。正因为如此,我们说,用计算机求解最优化问题和膳子爬山有惊人的相似之处黄山天都峰把计算机的能力和膳子对比可能已经出人意料了,但我想问一个更让大家吃惊的问题:计算机和瞎子谁更聪明?我国已故著名数学家华罗庚先生曾把一个简单的优化方法称之为“瞎子爬山法”,该方法就是相当于瞎子在爬山时用明杖前后左右轮流试,能往上走
sz|xyt}{wvu -nU' 1()bH {1 [)BqClY fY/l#:}%:!b Y^K)_k}?*l^fxl #:6l2'E\dpIK),(^lPMClsM 8Y! }#:YBlfO4FO4K ),(6f^y`,(MrMU.J\b9f^y `DH f6_QÆ[ d^_rD*,( 6Xhf^rMU.J\^b9f^~0oZO 4F^Q/ f3.w^HTIZ?*"O4Fp kl#:YB/ fY%v}^l.KD O4F^Q/ fu#QxB}&%UZoY {PT=v^YB O4F/ f)KEZ' \F (T64e :YT^#:}9KT fY} ”, }}lX( f6Y"E>h4n&2-QRi

就迈一步直到四面都不高了就是山顶。这个方法本质上就是坐标轮换搜索法。现实生活中,瞎子肯定不会这样爬山的,可见瞎子就比采用坐标轮换法的计算机聪明。我更偏向于把最速下降法称为“瞎子爬山法”,理由是膳子能知道山的坡度。华罗庚(1910-1985)最速下降法是利用最速下降方向求函数极小的方法,这相当于在爬山中沿着山坡最陡的方向往前爬。在数学上,就是求解极小化问题(1)min f(e)的送代法:+1=+(-Vf())其中α>0是步长。αk的一个直观的选取是使得目标函数f()尽可能的小,也就是让α=Q*满足精确搜索条件:f(Ck-Q*f(ck))=minf(Ck-aVf(ck))
}7/L[-Bp.%}kD}!T}q)2 =/7}h AU fÆl.DY^Z f}# 1"q)2=}^O4FKEZ℄r(l2da}9T fY} ”, $ fQJ\^_r (1910-1985) l2da}"l2darp,(Gs^}DlX( 6YUÆe_lo^rRhY6(}pkGs: YB min x∈ℜn f(x) (1) ^iS} xk+1 = xk + αk(−∇f(xk)), bU αk > 0 /6 αk ^L"^s℄K),( f(x) u Q^s}{ αk = α ∗ 8jwy/7E\ f(xk − α ∗∇f(xk)) = min α>0 f(xk − α∇f(xk)).

这就是精确搜迈下的梯度法,通常称为最轮下降法。表面上,来,最轮下降法是个完美的方法。该方法满用的方向是最好的(使函数降得最把华步长也是最好的(让函数在搜迈方向上最取华但是,最轮下降法不仅不是一个最好的方法,反倒是一个很差的方法。下目是用最轮下降法都解minf(c,9)=100r2+y从初始点(1,100)开始代的前二肯个送代点罗95.0.8-00.8从上目可以,出,最轮下降法收敛非常称。也就是说,“最好”+“最好”≠“最好”。我在中:院研究生院上课时常常跟同学们开玩笑说,班上最好的男生娶班上最好的女生,结果往往不是最好的。1988代加拿大数学会前会长、加拿大皇家:学院院士Borwein教授和合作者Barzilai提出了一个顶妙的办法来改进最轮下降法。他们把上一次迭代的最好步长留着下一次迭代用。这一取取的改动导致新算法效率惊法地提高,几乎可以达到和共轭梯度法差不多的
D}wy/7d^r}F59Tl2da} *Bl2da}O=^}}8"^r l-^,(a℄l/6l-^{,(6/7 rlsUl2da}.r.l-^}~Y 23^}dK"l2da}pk min f(x, y) = 100x 2 + y 2 LAf (1, 100) iS^hzÆiSf −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 65 70 75 80 85 90 95 100 x y Steepest descent with exact line search LKBl2da}"59}*l- + l- 6= l-Z6U 1{ 1 55G? Nt*l-^N tl-^V j(RR.l- ^ 1988 SULP(h6ULP>T 11 Borwein e !/1pC Barzilai AB%kC^} sl2da}9 ?JiS^l-/6,edJiS"Dss^ n ZQw4}u0v}dAL5O[/rr}3.w^

效数。下图是用Barzilai-Borwein方法求解minf(a,y)=100r?+y?拿初始点(1,100)华始送代的表现?70由此图可知,BB方法只需九次送代就得到一个非常高新度的解。BB方法的提面使得优化专为们对梯度法不得不重新认识,留引让了大量的算续研让,英国皇为学梯梯搜、优化相高奖Dantzig奖面得者RogerFletcher等著名学者也对这个问题作了深入研让。但是,如此重要的BB方法本为上却如此爬单,就是把相好的步长生们一步用。往续上出提到的玩笑就是,班上相好的男生应该找低代目相好的女生。优化方法中另外一个应用广泛的方法是共向梯度法。该方法相索是用来求解线性方程组的,由著名于学为CorneliusLanczos(18931974),MagnusHestenes(1906-1991)搜Eduard Stiefel(1909-1978)等提面
u(dK" Barzilai-Borwein }pk min f(x, y) = 100x 2 + y 2 L Af (1, 100) iS^*h −70 −60 −50 −40 −30 −20 −10 0 10 20 0 10 20 30 40 50 60 70 80 90 100 x y Steepest descent with Barzilai−Borwein Step $IKJ BB }O|JiS}℄[5wr^ k BB }^AB℄#:`T?ur}.℄.Xw, {%P$^4{ '>T/#:l` Dantzig `B℄C Roger Fletcher `\FCuDYBp%{ UIX^ BB }!TxIYT}l-^/6 ?/"RBA[^Nt}l-^N !?a SKl-^V #:}U+M!"$^}rr}}l 7"pkk}<k^$\F(T Cornelius Lanczos(1893- 1974), Magnus Hestenes(1906-1991) / Eduard Stiefel(1909-1978) `AB

EduardStiefelCronelius LanczosMagnus Hestenes共向梯轭性的基本思想是把一班N维爬面转化为N班一维爬面。、性的本到是构造一组两两共向的、向。巧妙的是,共向、向可以由上知搜迈、向步当前子的梯轭、向之组采来我步产生:dk+1=-Vf(ck+1)+βkdk不同的β导致不同的非解就共向梯轭性,著名的、性有:Hestenes-Stiefel、性、Fletcher-Reeves、性、Polak-Ribiere-Polyak、性步Dai-Yuan、性,其效应的β的选取分别为:βHS=(gk+1- gk)Tgk+1/df(gk+1- gk),BFR=Ilgk+1/2/lgkl2,βPRP=(gh+1 -gk)Tgk+1/lgkl2 ,BbY=lgk+1l2/d(gk+1-gk)显二可以,题,这好班不同的β可通标两班分子步两班分次的组采来得到。这给我们的一班地迪是:完备就步效称就能引导我们发前新的、性。确赖域、性是英国皇单学会会搜、美国罗学院外籍院士、首届Dantzig等面得者、英国得桥大学教授Powell相先提题的。在标去的
Cronelius Lanczos Magnus Hestenes Eduard Stiefel rr}^E!,o N UYBa:T N UY B}^
三十年维就们对确赖域、法的该发进得了巨大的进展,并给得确赖域、法一直是入顶法优化该发的维心步热子。这样一识对学科发展起了巨大拿动求用的、法其基应留陡却入常问为。化不像顶步索、法那样教求步索、度然产求搜在,而是每知送代在一识区域内构聪找到一识好的子,研区域称单确赖域,通常是以重前迭代子单维心的一识小果域:构美子往往个求是原优化问面的某识笑不问面在确赖域的线,构美子求题产利用某一评价函数来判断化是上可以英接敛单下一识迭代子,构美子的好坏还英用来决相“何现节确赖域。粗合下表,“于构美子子好,他确赖域以持不变者个大;上他将长小正式的着科比追溯确赖域历来往往梯初到求线求线入顶法最小二乘问面minF(r)的Levenberg-Marquadt、法。利单LevenbergMarquardt搜dk=-(J(k)J(ck)T+I)-1F(k)是顶法化最小二乘问面min |/F(rk) + J(ck)dll在某一识确赖域开的线,其维J(k)=VF(k)。“于没了确赖域轮国,研问面的线性是Gauss-Newton搜。国可以开识男娶:Gauss-Newton法是一识麟外钱”的、法,利单CarlFriedrichGauss(1777-1855)步IssacNewton(1642-1727)作开过也自所在国的这由Y78319766NE德国马克上的高斯英国英榜上的牛顿
ÆSU}?uy+}^{s℄%P^s;,℄y +}Lk}#:{^Ux/|fDu {; %PLnp"^}bE!,ox5YT:.qk /7}Mep/7rz4p/6x.'C P9_6s H^e # 3y+RRA[pkpkk}ls z;YB min ||F(x)||2 2 ^ Levenberg-Marquadt }T LevenbergMarquardt / dk = −(J(xk)J(xk) T + λkI) −1F(xk) k}:lsz;YB min ||F(xk) + J(xk)d||2 2 6Iy+^kbU J(xk) = ∇F(xk) (;%y+ 2'YB^k} Gauss-Newton /'Nt GaussNewton }2Mg^}T Carl Friedrich Gauss(1777-1855) / Issac Newton(1642-1727) p)g86'^D$ Æ ~Æ

Newton与优化的联系是相当多的。事实上,求函数极小minreR"f(a)的一个基本方法就是Newton法,它的搜索方向是d=-(V2f(ck))-1Vf(ak)牛顿法是一个几乎完美的方法,它不仅简单,而且收敛到f()的极小值点*的速度非常快。在二阶充分条件下,可证明它具有Q二次收敛性IlCk+d-a*ll=O(llk-I1).但是,美好的东西往往是可望不可及的。在实际应用中,特别是对于大规模问题,牛顿法是没法用的,这是因为二阶偏导数矩阵√2f(s)的计算量太大,甚至根本无法计算。1959年诞生的拟牛顿(quasi-Newton)方法将牛顿法中的二阶偏导数矩阵用一个拟牛顿矩阵来代替,避免了计算二阶偏导数,而且通过逐步修正拟牛顿阵,也能使方法达到超线性收敛。英国皇家学会会员、牛津大学的Trefethen教授将拟牛顿法与有限元、快速傅立叶变换及小波等并列为二十世纪最重要的计算方法之一。欧美优化界的好几位院士都在拟牛顿法方面有深入的研究。Fletcher和Powell关于拟牛顿法的第一篇文章的SCI引用已超过3100次。拟牛顿法的核心就是将Newton法的√?f(r)用一个拟牛顿矩阵Bk代替。拟牛顿矩阵满足拟牛顿公式:Bk+1Sk=yk其中s=k+1-k,k=f(k+1)-f().第—一个出现的拟牛顿法是Davidon-Fletcher-Powell方法,其拟牛顿矩阵修正公式为ykyrBRPP = Ba- BaoE+ usB + (1+ EB) styk)stykSyk
Newton )#:^ blXw^p,(Gs minx∈ℜn f(x) ^E!}} Newton }:^/7r d N k = −(∇2 f(xk))−1∇f(xk). Tv}L5O=^}:.rYTxm"[ f(x) ^ GsMf x ∗ ^2r56zhE\dIE:% Q zJ"} ||xk + d N k − x ∗ || = O(||xk − x ∗ ||2 ). U=-^m^RRS.J^6Q!"U?+u( P%HYBTv};}"^DTzh℄Z(G ∇2f(xk) ^O4$;PP
而目阶公矩最波的拟家顿法是Broyden-Fletcher-Goldfarb-Shanno、法BkSksTBk+ykyTBFGS = Bk- STBASk"STyk换变西北至学Nocedal第授(1998纪变际数学单至充45分钟报告者)1992纪在剑桥至学出也的综述论文集《ActaNumerica学中提出两个公开问题:“DFP、法对强凸并数是否收敛研”步“BFGS、法对于非凸并数是否收敛研”第二个公开问题英戴虹利敛Powell本于PRP、法的例子巧妙解决。而第一个公开问题虽了一些进没中至今还未彻底解决。拟家顿法给我们的启迪是:近似步用近是构满优化、法了力武教。JosephLouis Lagrange(1736-1813)另一个篇名数学单,Lagrange步优化来了紧会的联系。事实上寻找了约束条件的优化问题(2)f(r)min(3)s. t.c(r)=0, i=1,2,.,me
xKhl-^RTv} Broyden-Fletcher-Goldfarb-Shanno } B BF GS k+1 = Bk − Bksks T k Bk s T k Bksk + yky T k s T k yk . ='^P Nocedal e! 1998 S'Q(TP 45 V C 1992 S6℄jPB^h%3XI Acta Numerica UA B#YB DFP }uiI,("/ BFGS }u(I,("ezYB Q3" Powell !( PRP }^fkCkxeYB5%vs; UPo<V8 kRTv}Z?^db t./"t 8#:}%\e Joseph Louis Lagrange (1736-1813) +\F(T Lagrange /#:%q^ b ?%2'E\^#:YB min x∈ℜn f(x) (2) s. t. ci(x) = 0, i = 1, 2, ., me; (3)

(4)c(r)≥0,i=me+l,..,m.最优解等价于计算Lagrange函数mL(r,)=f(r) -Eaic(r)=1的鞍点。中国古代马鞍matlab图形z=?-y?入,称为Lagrange乘子,对应于不等式约束的Lagrange乘子应该是非负的。Lagrange函数对优化的重要性不仅体现在刻画最优性条件上,同时它在优化计算方法的构造上起了巨大的作用。例如,著名的逐步二次规划方法(SQP)就是基于Lagrange-Newton法发展起来的。上个世纪优化的另一个重大突破是内点法提出和兴起。线性规划是最简单的约束优化问题,它的标准形式如下:Tr(5)minZERn(6)subject toAr = b(7)2≥0
ci(x) ≥ 0, i = me + 1, ., m. (4) l#k`W(O4 Lagrange ,( L(x, λ) = f(x) − Xm i=1 λic(x) ^ f U'S6 matlab K| z = x 2 − y 2 λi 9T Lagrange ;fu!(.`2'^ Lagrange ;f! ^ Lagrange ,(u#:^X}.rCh68l#} E\G:6#:O4}^8 %P^p" \F^Z/zJ%9} (SQP) }E( Lagrange-Newton }{; ^ S#:^+XPJ`Pf}AB/z k}% 9lYT^2'#:YB:^)d|d min x∈ℜn c T x (5) subject to Ax = b (6) x ≥ 0 (7)

其中cEn,AE说mxn,bE究m.线性规划在经济,国防等许多重要领域有着广泛的应用。线性规划的奠基体有优化先驱GeorgeDantzig(1914-2005),诺贝尔奖获得体LeonidKantorovich(1912-1986),和著名数学家JohnvonNeumann(1903-1957)。GeorgeDantzigLeonidKantorovichJohnvonNeumanr在几何上,线性规划可理解为求凸多出体最低的点。Dantzig提出的求解线性规划的单纯形法(SimplexMethod)本为上就是每次从凸多出体的式要顶点走到相邻的式要更低的顶点而逐步找到最低点的方法。单纯形法具有简单、直用等优点,同时它用来求解大多数线性规划问题也是非常快的。但是,可世构造例子使得单纯形法走遍凸多出体的每要顶点,数是可突单纯形法的复算度是指数的1984代美国贝尔实验室的印度数学家Karmarkar提出了式要具有多项式复算度的方法。Karmarkar方法的基本思想是从凸多出体的大部而不像单纯形那样在边最上对逐步靠近最优解。Karmarkar方法可,成是利用Newton法求解log罚函数的方法。事实上,Kar-markar方法有式要约简单的同时也是约巧妙的儿何解释。举式要简单的例子来说明这式点。假定我们需要上找三准形的最低顶点9.设当前点是三准形的中心,重力方向是泛=一c.作三准形的大切圆和外接圆,从中心点出发沿重力方向交大切圆和外接圆分
bU c ∈ ℜn , A ∈ ℜm×n , b ∈ ℜm. k}%96xN'`w X*+%e$^!"k}%9^gEC%#:er George Dantzig(1914-2005) Wy`B℄C Leonid Kantorovich (1912-1986) /\F(T John von Neumann(1903-1957) George Dantzig Leonid Kantorovich John von Neumann 6L0k}%9kTpIwBCla^f Dantzig A B^pkk}%9^TF|} (Simplex Method) !T}<JL IwBC^kfi[l(^a^kfxZ/?[la f^}TF|}%YTL"`#fG:"pkPw (k}%9YB5^U8f℄TF|} i(IwBC^<kf(JTF|}^ 4rN(^ 1984 S='y^r(T Karmarkar AB% %wp 4r^} Karmarkar }^E!,oLIwBC ^P0x.qTF|M6&luZ/ tl#k Karmarkar }:" Newton }pk log |,(^}Karmarkar }%2YT^G2kC^L0kY T^f*EDfVlZ??d|^lakf y. Xhfd|^Ux x Xr ~xz = −c. pd|^P l0/Mg0LUxf x B{ÆXrbPl0/Mg0