一基本原理第五节惩罚函数法惩罚函数法是应用广泛,非常有效的间接解法.又称为序列无约束极小化方法(SUMT法).该方法通过将原约束优化问题中的等式和不等式约束函数加权处理后与原目标函数结合,得到新的目标函数(惩罚函数).原问题转化为新的无约束优化问题,求解该新的无约束优化问题,间接得到原约束优化问题的最优解.lkkmjjxhHrxgGrxfrrx121121)]([)]([)(),,(l)1,2,...,(0)(),...,2,1(0)()(minkxhmjxgxfkj障碍项惩罚项21,rr加权因子(惩罚因子)lkkmjjxhHrxgGrxfrrx121121)]([)]([)(),,(min原约束优化问题转化为无约束优化问题:改变惩罚因子r1,r2的值,就会得到一系列的无约束优化问题,求解得到一系列的无约束最优解(系列迭代点),这些最优解逐渐的逼近原约束优化问题的最优解.二惩罚函数法分类内点惩罚函数法(内点法)外点惩罚函数法(外点法)混合惩罚函数法(混合法)),...,2,1(0)()(minmjxgxfjmjjxgrxfrx1)(1)(),(min数学模型及其转换第一种形式三内点惩罚函数法第二种形式),...,2,1(0)()(minmjxgxfjmjjxgrxfrx1)](ln[)(),(min内点法的加权因子(惩罚因子)是正数,在优化过程中,由小到大变化,即取为递减数列:0......1210kkrrrrr缩减系数(递减系数)c1,01,0.1~0.7kkrcrcc一般地0limkkr确定r01.取r0=1,根据计算结果,决定增加或减少的r0值.2.根据经验公式确定:0001()1()mjjfxrgx内点法的收敛条件**111*1112[(),)][(),][(),]||*()*()||kkkkkkkkxrrxrrxrrxrxr**()(*)(*())kkxxrfxfxr初始点x0-随机数生成,满足可行:0()01,2,...,jgxjm内点法的计算步骤和程序框图1)选择•可行的初始点;•惩罚因子的初始值;•缩减系数;•收敛精度;•取迭代次数k-0.2)构造惩罚函数,选择无约束优化方法求解方法,求出无约束极值.3)判断所得极值点是否满足收敛条件满足:取极值点为最优点,迭代终止不满足:缩小惩罚因子,将极值点作为初始点,增加迭代次数,转步骤2),直到满足收敛条件为止.内点法程序框图举例01)(..)(min12221xxgtsxxxf用内点法求最优点:2212122121(,)()()(,)1(,)()ln(())(,)ln((1))rxrfxgxrxrxxxorxrfxrgxxrxxrx解:4r=1.2r=0.36r22121(,)ln((1))xrxxrx例:用内点惩罚函数法求下列约束优化问题的最优解,取迭代初始X0=[0,0]T,惩罚因子的初始值r0=1,收敛终止条件:||Xk-Xk-1||ε,ε=0.01。08)(..60410)(min21212112221xxXgtsxxxxxxXf)8ln(60410),(21212112221xxrxxxxxxrXTxxrxxxxrxxrX]8428102[),(21122121TTrrrXrrrXxxrxxxxrxxrX]229922913[)(]229922913[)(:084208102:0),(*2*121122121解之得得令1.构造内惩罚函数:2.用解析法求内惩罚函数的极小点TrrrXrXrXrXrXg]229922913[)()(),()(0))((.*2**1*1最优解无约束优化问题的系列为凸函数舍去TTXXrXrXr]2.842842.4[5886.5||)(||]2.842842.4[)(1000*0*0时,当TTXrXrXrXcrr]2.983983.4[1994.0||)()(||]2.983983.4[)(1.0100*1*1*01时,当3.求最优解TTXrXrXrXcrr]2.998989.4[0212.0||)()(||]2.998989.4[)(01.001*2*2*12时,当内点惩罚函数法特点及其应用惩罚函数定义于可行域内,序列迭代点在可行域内不断趋于约束边界上的最优点.只适合求解具有不等式约束的优化问题.