第四章多变量寻优方法直接法:降维法:把一个多变量问题转化为一系列较少变量的问题模式法:按照事先规定的一些模式进行搜索的一种寻优方法随机试验法:利用概率统计中随机选点的概念间接法:梯度法共轭梯度法变尺度法4.1.降维法把一个多变量问题转化为一系列较少变量的问题4.1.1.坐标轮换法4.1.1.1.基本思想将一个n维的多变量优化问题,转化为一系列一维优化问题来求解。每次都沿坐标轴进行一维搜索,所以称之为坐标轮换法。计算方法坐标方向TnTTeee]1,,0,0[]0,,1,0[]0,,0,1[21起始点TnxxxX],,,[002010搜索方向:neee,,,21最优点:nX迭代停止:nX与0X之差小于允许误差迭代轮次限制4.1.1.2.迭代步骤1:给定起始点0X,允许误差1,1,0kj2:进行一维搜索,求出最优解j)()(11jjjjjeXfeXfMin直到沿n个坐标轴方向ne进行优化)()()(11nnnnnneXfXfeXfMin3:判断是否满足收敛性判别准则0XXn,则停止迭代,minXXn否则重复以上步骤4.1.1.3.迭代框图4.1.1.4.优缺点优点:道理浅显、方法简单,容易掌握。缺点:寻优效果取决于目标函数的性态。给定:起始点0X、精度、维数n、限定轮次m、各坐标轴方向),,2,1(njejj=1,k=1求j:)()(11jjjjjeXfeXfMin且令jjjjeXX1jn0XXnkmj=j+1nXX0j=1k=k+1结束开始nXXmin是是是否否否4.1.2.转轴法4.1.2.1.思路n维问题,1:假定有了初始点0X及n线性无关的向量),,2,1(1njRj(不妨假设为坐标轴方向),,2,1(njej。2:先与坐标轮换法相同,即分别沿着各1jR方向进行一维搜索,求出最小点1X,显然1X与0X连线的方向是目标函数值下降较快的方向。3:使新的n个线性无关向量),,2,1(2njRj中21R的方向与01XX方向一致。4:就可以从1X出发,在分别沿这n个方向求新的极小点,直到满足收敛条件时停止。4.1.2.2.迭代框图4.1.2.3.优缺点优点给定:起始点0X、精度、维数n、限定轮次m、各坐标轴方向),,2,1(njejj=1,k=1求j:)()(11jjjjjpXfeXfMin且令jjjjpXX1jn0XXnkmj=j+1nXX0j=1k=k+1结束开始nXXmin),,1(niepii用DSC方法计算旋转方向),,1(nipi是是是否否否可以处理目标函数有直脊线的情况,与坐标轮换法相比较有所改进。缺点仍然存在着坐标轮换法出现的,寻查路线太曲折,收敛速度较慢的明显缺点。4.1.3.方向加速法(Powell法)4.1.3.1.方法将n维的多变量优化问题转化为一系列单变量优化问题的降维方法。应用广泛。以共轭方向为搜索方向,属于共轭方向法。,如果目标函数是n维的二次函数,只需搜索n次就能找到极小点。4.1.3.2.共轭方向n维欧式空间中的向量],,,[21knkkkpppp],,,[112111knkkkpppp正交:0][1kTkpp,kp和1kp不为零共轭:0][1kTkCpp,kp和1kp不为零,C对称正定矩阵,则称向量1kp和kp对(n×n)阶对称矩阵C共轭。C=I,即正交。共轭方向:是正交方向经过坐标转换得到的。1121kkpCZkkpCZ210][1kTkZZ则0][][][1112121kTkkTkkTkCpppCCpZZ例:二元二次正定函数)0,0(2)(2222121bacacxxbxaxXf,等高线为以原点为中心的同心椭圆族2221xabacvxabxau222222212221212)(vuxzbacxabxacxxbxaxXf则,),(21xx平面同心椭圆族,(u,v)平面变为同心圆族),(21xx平面上2p与1p共轭,对应(u,v)平面上2Z与1Z正交二维正定二次函数的特点1:二维正定二次函数的等值线为椭圆线,且椭圆的中心都是二维正定二次函数的极小点。2:过椭圆族中心作任意线,该直线与各椭圆有交点,其任何两个交点处的切线都互相平行。4.1.3.3.方向加速法中应用共轭方向的原理11ep22ep023XXp2p3p0X———→1X———→2X—————→3X———→)1(X———→)2(X)2(34XXp)2(X—————→X4.1.3.4.迭代步骤1:给定起始点0X,允许误差0,n个初始探测方向),,1(1njepjj,k=1;当k1时,寻优方向),,1(njpkj根据前(k-1)阶段方向代换来确定。2:从0X出发,依次沿),,1(njpkj方向进行以为搜索)()(11kjjkjjjpXfMinpXfkjjjjpXX1找出n个一维搜索种目标函数下降最快的第m个方向及目标函数下降值d,使得)]()([)()(1,,11jjnjmmXfXfMaxXfXfd3:判别是否满足收敛性判别准则0XXn若满足,迭代停止,得到最优解nXXmin否则进行44:沿0X到nX连线方向延长一倍,得到1nX点012XXXnn5:判别是否满足dXfXfXfnn)]()(2)([21)10若满足,则令nXX0,并转至2否则,令01XXpnkn进行66:进行方向替换),,()1,,1(111nmjppmjppkjkjkjkj7:在(n+1)方向上进行一维搜索)()(111knnnknnpXfpXfMinknnnpXX1108:判断是否k=n若满足,则k=1,返回1否则,k=k+1,转向24.1.3.5.迭代框图给定:起始点0X维数精度坐标轴方向),,1(njejk=1),,1(njepjjj=1d=0kjjjjjjjjjpXXpXfMinpXf111)()(dXfXfjj)()(1j=nj=j+1jmXfXfdjj)()(10XXn012XXXnndXfXfXfnn)]()(2)([)1021),,(01nmjppXXpjjnnnnnnnnnnpXXpXfpXfMin101)()(knnXXmin结束k=k+1nXX0超出变量空间0X取在边界上方向替换是否是是否否否是是否4.2.模式法按照事先规定的一些模式进行搜索的一种寻优方法。操作简单、便于记忆,便于在计算机上实现。步长加速法、单纯形加速法。4.2.1.步长加速法(PatternSearchMethod或Hooke-Jeeves法)4.2.1.1.基本思想探测性移动:探索有利方向模式性移动:循着有利方向(近似负梯度方向)加速参考点:探测性移动的起点,模式性移动的终点,iR基点:探测性移动的终点,模式性移动的起点,iB4.2.1.2.基本原理参考点探测基点模式参考点探测基点模式参考点1R————→21,BB————→2R————→32,BB————→R1121iiiiiRBXXR若探测性移动成功)()(2iiBfXf,则进行模式性移动iiiBBR112若探测性移动不成功)()(2iiBfXf,则退至前一个基点作为参考点iiBR1若探测性移动不可行)()(1iiBfXf,则退至前一个基点作为参考点重新探测若在此探测失败,则缩短步长,再探测,直到满足精度为止。4.2.1.3.迭代步骤1:给定起始点0X,允许误差0,初始步长,缩步系数1a,各坐标轴方向),,1(niei,维数n令起始点为参考点和基点,即02101,XBBXR2:从参考点1R出发,以此沿坐标轴ie方向以步长进行探测202BX110RBX01X1222BBR65RB312BX11X2332BBR422BX21X3442BBR532BX31X4552BBR41X42X652BX51X5672BBR762BX61X6782BBR872BX71X7892BBR108RB81X缩短步长再探测91X停止)](),([)(,)()()(,)()(,1iiiiiiiiiiiiiiiiiiieRfeRfMinRfReRfRfeRfeRRfeRfeRR当当当经过这样一系列探测性移动以后,得到1nR3:沿着两个基点连线方向进行模式性移动1212212)(BBBBBR重置i=1,转向24:判断是否满足21BR若满足,说明参考点已经是基点,转向5否则,把参考点取为基点,令21BR,转向25:检验是否满足收敛性判别标准若满足,则迭代停止,得到最优解2minBX否则,缩短步长1,ia转向24.2.1.4.迭代框图优点:方法容易可靠缺点:维数多时比较复杂,极点值附近收敛较慢4.2.2.单纯形加速法(SimpleMethod或NelderandMead’sMethod)单纯形:n维空间中n+1个顶点所组成的图形。基本思想先确定初始单纯形,在定点上做试验,进行比较,丢掉坏点。然后应用“反射”、“延伸”、“收缩”、“缩小边长”等方法,逐步逼近函数的极小值点。4.2.2.1.基本原理好点:)(gX目标函数最小的点坏点:)(bX目标函数最大的点其余点:)(iX反射点:)(rX延伸点:)(eX收缩点:)(krX靠近反射点)(kbX靠近坏点4.2.2.2.迭代步骤1:以给定起始点作为单纯形的一个顶点,选正单纯形(边长相等)作为初始单纯形。),,,(),,,(),,,()1()1(2)1(1)1()1()1(2)1(1)2()1()1(2)1(1)1(pxqxqxXqxqxpxXxxxXnnnnannqannnp2112112:选目标函数之最小的顶点(好点)和最大的顶点(坏点),并计算坏点以外的单纯形其余顶点的中心点。)()()()()()()()()(iigbigXFXFXFXXX)()()(brXXXX反射)()()()(grXFXF)(2)()(XXXXre延伸)()()()(geXFXF)()()()(geXFXF)()()(,,igeXXX)()()(,,igrXXX)()()()(brXFXF)()()(,,irgXXX)()()()grXFXF)()()()(irXFXF)(5.0)()(XXXXbkb收缩收缩)()()()()()(briXFXFXF)(5.0)()(XXXXrkr)()()()(bkXFXF)()()()(bkXFXF)()()(,,ikgXXX缩小边长新单纯形迭代至顶点目标函数值或边长满足精度11)()()()()(1)1,,1()()()()(nbiiiigigXnXniXfMaxXfXfMinXf3:反射将坏点通过中心点反射,得到反射点。)()()(brXXXX(反射系数0)若)()()()(grXfXf,即反射点比好点好,转向4若反射点比好点差,但比其余各点都好,则以新点)(rX替代坏点)(bX,转向7否则,转向54:延伸沿中心点到反射点方向加大步长,得到延伸点。)()()(XXXXre(延伸系数0)若)()()()(reXfXf,即延伸点比反射点好,则以延伸点)(eX替代坏点)(bX,转向7否则,以反射点)(rX替代坏点)(bX,转向75:收缩若)()()()(brXfXf,即反射点比坏点差,,则以坏点收