首页 > 其他分享 >罚函数法

罚函数法

时间:2024-05-05 15:34:53浏览次数:25  
标签:infty limits 罚函数法 leq kP mathop rightarrow

罚函数法
求解约束优化问题:
\begin{align*}
\mathop{min}\limits_{x} & \quad f(x)\\
s.t. & \quad x \in S
\end{align*}
其中,$f$是连续函数。
可以采用罚函数法将约束优化问题转变为无约束优化问题,具体方法是对目标函数加上惩罚项:
$$q(c_k,x)=f(x)+c_kP(x)$$
其中:1)数列$\{c_k\}\subset \mathbb{R}$,且$c_k \uparrow,c_k\rightarrow +\infty$。2)$P$连续,$P \geq 0$,且$P(x)=0 \iff x \in S$。
对任意的$k$,求解$ min_{x} q(c_k,x)$得到的解记为$x_k$。

引理
$$q(c_k,x_k)\leq q(c_{k+1},x_{k+1})$$
proof:
\begin{align*}
q(c_k,x_k)=&f(x_k)+c_kP(x_k)\\
\leq & f(x_{k+1})+c_kP(x_{k+1})\\
\leq & f(x_{k+1})+c_{k+1}P(x_{k+1})=q(c_{k+1},x_{k+1})
\end{align*}

假设$x^*$为原问题的解点,则有$$f(x^*)\geq q(x_k,x_k)\geq f(x_k)$$
proof:
\begin{align*}
f(x^*)=&f(x^*)+c_kP(x^*)\\
\geq& f(x_k)+c_kP(x_k)\\
\geq &f(x_k)
\end{align*}

收敛性
假设$\{x_k\}$是由罚函数法生成的序列,则其任意极限点都是原问题的解点。
proof:\quad
取$\{x_k\}$的一个极限点为$\mathop{x}\limits^{-}$,为了书写方便记收敛子列依然为$\{x_k\}$。
由于函数$f$的连续性,有$$\lim\limits_{k\rightarrow +\infty}f(x_k)=f(\mathop{x}\limits^{-})$$
由上述两个引理得到$q(c_k,x_k)$关于$k$单增,且以$f^*$为上界,于是得到:
$$\lim\limits_{k\rightarrow +\infty}q(c_k,x_k)=q^*\leq f^*$$
于是有$$\lim\limits_{k\rightarrow +\infty}q(c_k,x_k)-f(x_k)=\lim\limits_{k\rightarrow +\infty}=c_kP(x_k)\leq q^*-f(\mathop{x}\limits^{-})$$
再根据$c_k \rightarrow +\infty $,于是有$P(x_k)\rightarrow 0$,根据$P$的连续性得到:
$$\lim\limits_{k\rightarrow +\infty}P(x_k)=P(\mathop{x}\limits^{-})=0$$
于是极限点$\mathop{x}\limits^{-} \in S$。
由根据第二个引理得到:$$f(\mathop{x}\limits^{-})=\lim\limits_{k\rightarrow +\infty}f(x_k)\leq f^*$$
则$\mathop{x}\limits^{-}$是解点。
****************

标签:infty,limits,罚函数法,leq,kP,mathop,rightarrow
From: https://www.cnblogs.com/wjma2719/p/18173526

相关文章

  • MATLAB约束最优化之罚函数法、障碍函数法和SQP方法
    1.罚函数法罚函数方法包括外点法和内点法。外点法又叫外罚函数法,顾名思义,迭代点再约束条件的可行域之外,既用于不等式约束又可用于等式约束。同样地,罚函数方法又叫序列无......
  • 惩罚函数法
    基本思想:通过构造惩罚函数将约束问题转化为无约束问题,进而用无约束最优化方法求解。主要分为内点法和外点法。注意:罚函数法对目标函数的凹凸性没有要求,且结合启发式算法(......