最优化方法——乘子法和外点罚函数法

此题摘自文件 最优化方法 第三章(乘子法) 13/24

【题目】分别用外点法乘子法求等式约束问题

min12x21+16x22s.t.x1+x2=1

【解】(外点罚函数法)① 构造罚函数

F(x,Mk)=12x21+16x22+Mk(x1+x21)2

② 求偏导

Fx1=x1+2Mk(x1+x21)=0
Fx1=13x2+2Mk(x1+x21)=0

③ 联立两个偏导式,求驻点,并得到x1x2的表达式

联立(1)(2),得到

x2=3x1

(3)代回(1),得到

x1+2Mk(4x11)=0(1+8Mk)x1=2Mkx1=2Mk1+8Mk

根据(3),得到

x2=3x1=6Mk1+8Mk

x1x2的表达式改写为

x=[22Mk+862Mk+8]T

④ 令Mk,得到结果

x=[1434]T

【总结】

解题步骤如下:

① 构造罚函数;

② 求出对x1x2的罚函数偏导;

③ 联立两个偏导式,求出驻点,并代回偏导式,得到xk1xk2的表达式;

④ 令Mk趋近无穷,得到x


【解】(乘子法)

① 写出增广Lagrange函数;

φ(x,vk)=12x21+16x22+vk(x1+x21)+ck2(x1+x21)2

② 用解析法求驻点;

φx1=x1+vk+c(x1+x21)=0
φx2=13x1+vk+c(x1+x21)=0

联立(5)(6),得到

x2=3x1

(7)代入(5)中,得到

x1+vk+c(x1+3x11)=0(4c+1)x1+(vkc)=0x1=cvk4c+1

那么,x2

x1=3(cvk)4c+1

③ 根据乘子迭代公式求下一步的vk+1

根据乘子迭代公式,有

vk+1=vk+c(x1+x21)=vk+c(4c4vk4c+1+4c+14c+1)=vk+c(1+4vk4c+1)

c取任意值,解出vk的值;

c=1,且vk,得到

v=v1+4v5v=0.25

⑤ 将cvk代入点xk中,得出结果

xk1=1+145=14,xk2=3xk1=34

x=[1434]T

【总结】

解题步骤如下:

① 写出增广Lagrange函数;

② 用解析法求驻点;

③ 根据乘子迭代公式求下一步的vk+1

c 取任意值,解出 vk 的值;

⑤ 将 cvk 代入点 xk 中,得出结果。