约束优化的罚函数法

本文介绍解决约束优化问题的经典算法——罚函数法。

基本思想

依据约束条件的特点,把约束条件转化为某种惩罚函数加到目标函数中,从而把约束优化问题转化为一系列无约束优化问题,通过求解一系列无约束优化问题得到约束优化问题的最优解。此类方法称为“序列无约束极小化方法”。

外罚函数法

外罚函数法基本思想看两个例子:

例1 等式约束优化:

m i n f ( x ) = x 1 2 + 1 3 x 2 2 s . t . x 1 + x 2 = 1 minf(x) = x_1^2 + \frac{1}{3} x_2^2 \\ s.t. \qquad x_1 + x_2 = 1 minf(x)=x12+31x22s.t.x1+x2=1

解:等式约束得: x 2 = 1 − x 1 x_2 = 1 - x_1 x2=1x1代入目标函数得:
m i n ϕ ( x 1 ) = x 1 2 1 3 ( x 1 − 1 ) 2 min \phi (x_1) = x_1^2\frac{1}{3}(x_1 - 1)^2 minϕ(x1)=x1231(x11)2
全局极小值点: x ∗ = 0.25 x^{\ast} = 0.25 x=0.25,从而原问题极小值点为: x ∗ = ( 0.25 , 0.75 ) T x^{\ast} = (0.25,0.75)^T x=(0.25,0.75)T
现在要使构造的罚函数 P ( x ) ‾ \overline{P(x)} P(x)满足:
P ( x ) ‾ = { 0 x 1 + x 2 − 1 = 0 > 0 x 1 + x 2 − 1 ≠ 0 \overline{P(x)} = \begin{cases} 0 & x_1 + x_2 - 1 = 0 \\ > 0 & x_1 + x_2 - 1 \neq 0 \end{cases} P(x)={ 0>0x1+x21=0x1+x21=0
能保证函数具有连续的偏导数的简单方法是令:
P ( x ) ‾ = ( x 1 + x 2 − 1 ) 2 \overline{P(x)} = (x_1 + x_2 - 1) ^ 2 P(x)=(x1+x21)2

现在考虑目标函数和上述罚函数的组合:
P ( x , σ ) = f ( x ) + σ P ( x ) ‾ = x 1 2 + 1 3 x 2 2 + σ ( x 1 + x 2 − 1 ) 2 P(x,\sigma) = f(x) + \sigma \overline{P(x)} = x_1^2 + \frac{1}{3} x_2^2 + \sigma (x_1 + x_2 - 1)^2 P(x,σ)=f(x)+σP(x)=x12+31x22+σ(x1+x21)2

其中, σ > 0 \sigma >0 σ>0为充分大的正数,称为罚参数或者罚因子。求上述组合的极小点:

∂ P ( x , σ ) ∂ x 1 = ∂ P ( x , σ ) ∂ x 2 = 0 { ( 1 + σ ) x 1 + σ x 2 = σ 3 σ x 1 + ( 1 + 3 σ ) x 2 = 3 σ \begin{array}{l} \frac{\partial P(\boldsymbol{x}, \sigma)}{\partial x_{1}}=\frac{\partial P(\boldsymbol{x}, \sigma)}{\partial x_{2}}=0 \\ \left\{\begin{array}{l} (1+\sigma) x_{1}+\sigma x_{2}=\sigma \\ 3 \sigma x_{1}+(1+3 \sigma) x_{2}=3 \sigma \end{array}\right. \end{array} x1P(x,σ)=x2P(x,σ)=0{ (1+σ)x1+σx2=σ3σx1+(1+3σ)x2=3σ
求解上述方程组, 得:
x 1 ( σ ) = σ 1 + 4 σ , x 2 ( σ ) = 3 σ 1 + 4 σ x_{1}(\sigma)=\frac{\sigma}{1+4 \sigma}, \quad x_{2}(\sigma)=\frac{3 \sigma}{1+4 \sigma} x1(σ)=1+4σσ,x2(σ)=1+4σ3σ

  • 18
    点赞
  • 153
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值