1、,第七章,约束最优化方法, 7.2 罚函数法,基本思想,设法将约束问题求解转化为无约束问题求解,具体说:,根据约束的特点,构造某种惩罚函数,,然后把它加到目标函数中去,将约束问题的,求解化为一系列无约束问题的求解,惩罚策略:,企图违反约束的迭代点给予很大的,目标函数值,迫使一系列无约束问题的极小点或,者无限地靠近可行域,或者一直保持在可行域,内移动,直到收敛到极小点,外罚函数法,引例:,求解等式约束问题:,解:,图解法求出最优解,构造:,但是,性态极坏,,无法用有效的无约束,优化算法求解,设想构造:,其中,是很大的正数,求解此无约束问题得:,当,时,,有:,等式约束问题,构造:,其中,为参数,
2、称为罚因子,分析:,当,不是可行解时,,越大,,惩罚越重,因此当,充分大时,,应充分小,即,的极小点应充分逼近可行域,,进而,逼近(1)的最优解,不等式约束问题,构造:,分析:,当,不是可行解时,,越大,,惩罚越重,因此当,充分大时,,应充分小,即,的极小点应充分逼近可行域,,进而,逼近(2)的最优解,一般约束问题,构造:,其中:,注:,一般取,例1:,用外罚函数法求解:,解:,即:,因此:,令:,得:,最优值:,当,时:,注:,(1),往往不满足约束条件,,都是,从可行域外部趋向于,的,因此叫外罚函数法,(2),通过求解一系列无约束最优化问题来求,解约束最优化问题的方法,,又称为序列无约束,
3、极小化技术SUMT.,外罚函数法,又称SUMT外点法,外罚函数法算法,Step1:,给出,(可是不可行点),,罚因子,放大系数,Step2:,以,为初始点求无约束问题:,得,Step3:,若,则,停;,否则转step4,Step4:,令,转step2.,例2:,用SUMT外点法求解:,取,求解,迭代过程见下表:,收敛性分析,引理1:,对于由SUMT外点法产生的点列,总有:,收敛性分析,定理1:,设约束问题(3)和无约束问题(4)的整体,最优解为,和,对正数序列,且,则由SUMT外点法产生的点列,的,任何聚点,必是(3)的整体最优解,证:,不妨设,因为,和,分别为(3)和(4)的整体最优解,,且
4、,所以有:,为单调有界序列,,设其极限为,亦为单调有界序列,,设其极限为,且,连续;,即,为可行解,为最优解;,连续;,即,为(3)的整体最优解,外罚函数法评价,(1),如果有了求解无约束问题的好算法,利用,外罚函数法求解约束问题很方便,(2),每个近似解,往往不是可行解,这是某,些实际问题所无法接受的,内罚函数法可以解决,(3),由收敛性定理,取越大越好,,而,越大将,造成增广目标函数,的Hesse阵条件数越,大,趋于病态,给无约束问题求解增加很大困,难,甚至无法求解乘子法可解决这个问题,内罚函数法,惩罚策略:,在可行域的边界上筑起一道很高的,“围墙”,当迭代点靠近边界时,目标函数值,陡然增
5、大,以示惩罚,阻止迭代点穿越边界,,这样就可以把最优解“挡”在可行域内了,注:,惩罚策略只适合于不等式约束问题,,并且要求可行域的内点集非空,不等式约束问题,构造:,其中:,或,分析:,为可行域的内点时,,为有限正数,,几乎不受惩罚;,接近边界时,,趋于无穷大,,施以很重的惩罚;,迫使极小点落在可行域内,,最终逼近极小点,例3:,用内罚函数法求解:,解:,令:,所以,当,时,,注:,一般,最优解很难用解析法求出,,需采用序列无约束最优化方法,内罚函数法算法,Step1:,给出,(要求是可行点),,罚因子,缩小系数,Step2:,以,为初始点求无约束问题:,得,Step3:,若,则,停;,否则转
6、step4,Step4:,令,转step2.,例4:,用SUMT内点法求解:,取,迭代结果见下表:,收敛性分析,引理2:,对于由SUMT内点法产生的点列,总有:,定理2:,设可行域,的内点集,非空,,在,上存在极小点,对严格单减正数列,且,则由SUMT外点法产生的点列,的任何聚点,是约束问题(2)的最优解,证:,由于,由引理2知,单调减少且下有界,,于是它有极限,记作,即:,若能证明:,则可得:,再由,的连续性,可得:,即,是(2)的最优解,再证:,由,的连续性知,,对于任意小的正数,存在,取满足,的,使得:,由,知,,对于同一个,存在,当,时,又因为,乘子法,引例:,求解等式约束问题:,解:
7、,最优解,分析:,对于任何,关于,的极小点是不存在的,正因为如此,才引进外罚函数法的,问题:,能否找到某个,使,恰好是,的无约束极小呢?回答是否定的,设想:,能否在不改变最优解的前提下,,以某个,在最优解,处梯度为零的函数来取代,呢?,启发:,(增广Lagrange函数),通过求解增广Lagrange函数的序列无约束问题,来获得原约束问题的解,等式约束问题的乘子法,其中,和,二阶连续可微,设,为Lagrange乘子向量,,则对应Lagrange,函数为:,设,是,的极小点,,是相应的乘子向量 ,(1)可等价为:,启发:,采用外罚函数法,构造:,我们将证明:,适当大时,,是,极小点,但,是未知的
8、,,在求,的同时,,采用迭代法求出,这是乘子法的基本思想,定理:,设,与,满足,为问题(1)的严格局部,极小点的二阶充分条件,,则存在,使对所有,为,的严格局部极小点;,反之,,若,且,对某个,是无约束问题,(5)的局部极小点,,则,是约束问题(1)的局部,极小点.,算法构造,采用迭代法求点列,使,设已有,和,则由一阶最优性条件有:,要求,和,且,采用:,或:,例5:,用乘子法求解:,解:,增广Lagrange函数为:,令:,得:,所以:,乘子迭代公式为:,即:,取:,所以:,设,对上式取极限有:,得:,得:,等式约束的乘子法(PH算法),Step1:,给出,Step2:,以,为初始点求无约束
9、问题:,得,Step3:,若,则,停;,否则转step4,Step4:,当,及放大系数,转step5;,否则令,转step5;,Step5:,令,转step2;,作 业,(1)用外罚函数法求解:,(2)用内罚函数法求解:, 7.4 SQP方法,基本思想,无约束变尺度法是在牛顿法的基础上发展而来,的,而牛顿法可以看作是求梯度零点(最优性条件),的一种方法,对于约束最优化问题,我们同样希望用牛顿法,来求解K-T点,并在此基础上发展形成了约束变,尺度法,SQP算法与有关算法相比具有许多显著的优点,,目前认为该方法是求解中小规模约束问题的十分,有效的方法,等式约束问题,其Lagrange函数为:,一阶
10、最优性条件为:,或者为:,其中,表示约束的Jacobi矩阵:,上述方程组是含有,个方程和,个未知量,的非线性方程组,,用牛顿法解这个方程组可得:,其中,和,是下面牛顿方程组的解:,把这个方程组展开得:,考虑到,以及,可以将方程组改写成:,所得解为,和,而以上方程组恰好是下面二次规划问题,的一阶必要条件,,是其最优Lagrange乘子,注:,(1),SQP方法就是通过求解一系列二次规划,问题产生收敛于问题最优解和Lagrange乘子,的迭代序列,和,(2),二次规划问题中,约束是原问题约束的,线性近似,但目标函数却不是原问题中目标,函数的二次近似,这个函数的Hesse阵为,它不仅包含目标函数的二
11、阶导数,信息,而且还包含了所有约束函数的二阶导,数信息,一般约束最优化问题,每次迭代所要求解的二次规划子问题为:,注:,(1)以上方法实质上是求等式约束问题的,Lagrange函数的平稳点,,被称为拉格朗日牛顿,法,,它最早是由Wilson(1963)提出的,(2)以上方法虽然收敛速度可达二阶,,但是仅仅,是局部收敛的,,对初始点的选取要求较高,为了,保证全局收敛性,,必须定义某一衡量,和,的,好坏、,在原问题最优解处达到极小的效益函数,然后针对效益函数沿由(3)确定的方向进行线性,搜索。,(3)Lagrange-Newton法最主要的缺点是要求计算,Lagrange函数的Hesse阵,,使其
12、因为计算量太大而,失去应用价值。,为了克服计算Hesse阵的缺点,,借鉴无约束最优化中的拟牛顿法,,在每次迭代中,用一正定阵,近似Hesse阵,,而随着迭代的进行,将用拟牛顿公式对,进行修正。,因此,人们常称,这类算法为约束变尺度法。,(4)Lagrange-Newton法最重要的理论贡献是:,由它我们得知可通过逐步求解(3)的二次规划子,问题来求解一般的非线性约束问题。,SQP方法的一般迭代格式,Step1:,给定,正定阵,令,Step2:,求解二次规划子问题,得解,及其对应的乘子,Step3:,针对所选的效益函数从点,沿方向,进行线搜索确定步长,并令,Step4:,利用,等信息,,采用某种
13、拟牛顿公式,对,进行修正,,得到,令,转,Step2,注:,上述算法中,,当,时,,即为无约束变尺度法的格式,效益函数,Han(韩世平)1977年提出用如下的,精确,罚函数作效益函数:,注:,在线搜索中,,使,下降,,相当于兼顾了,的下降和违反约束的程度的降低,两者的轻重以系数,加以调节,系数的调节,Powell(1977)对,的自动调节公式如下:,设,为二次规划(4)的最优乘子向量,则:,理论上可以证明,,这样选取,值,,使,为,的下降方向,矩阵的修正,令:,其中,为二次规划(4)的最优乘子,,记:,其中,表示,表示,为保持,的正定性,,要求,现在线搜索是对,进行,,而不是对,做的,,因此未
14、必有,Powell提出了下面的改进:,其中:,的修正公式为:,其中,表示,表示,约束变尺度法(WHP法),Step1:,给定,正定阵,给定,令,Step2:,求解二次规划(4),得,及,转,Step3.,Step3:,按(5)求,并代入效益函数,,作线搜索,得,令,Step4:,计算,当,时,,则,为近似最优解,停;,否则计算,按(6),(7)求,代入(8)得,令,转,Step2.,信赖域SQP算法基本思想,对SQP算法的一般格式:,在Step2中:,代替求解,我们求解加上,信赖域约束,后的另一不再是二次规划,的子问题来确定,然后用适当的方法估计,(若所选效益函数需要这种信息的话),在Step3中:,代替沿,对所选效益函数进行线搜,索,,我们采用信赖域方法处理,注:,(1)如果将信赖域约束,直接加到二,次规划问题,的约束中去,,则所得问题,可能因不可行而无解,(2)这类子问题的缺点是它不再是一个二次规,化问题,,从而必须设计一特定的算法来解它,下面介绍一种可用于一般约束问题,,通过求解,类似于无约束优化问题中简单信赖域子问题来,确定,的方法,